目录
一、字符串对象
1、根据字符返回位置
方法 | 功能描述 |
---|---|
indexOf(‘a’) | 获取a在字符串中首次出现的位置 |
lastIndexOf(‘a’) | 获取a在字符串中最后出现的位置
|
要求:在一组字符串中,找到所有指定元素出现的位置以及次数
var str = 'Hello World, Hello JavaScript';
var index = str.indexOf('o');
var num = 0;
while (index != -1) {
console.log(index); // 依次输出:4、7、17
index = str.indexOf('o', index + 1);
num++;
}
console.log('o出现的次数是:' + num); // o出现的次数是:3
2、根据位置返回字符串
成员 | 作用 |
---|---|
charAt(index) | 获取index位置的字符,位置从0开始计算 |
charCodeAt(index) | 获取index位置的字符的ASCII码 |
str[index] | 获取指定位置处的字符(HTML5新增) |
使用charAt()方法通过程序来统计字符串中出现最多的字符和次数
// 统计出现次数最多的字符和次数
var str = 'zxcvbzxzzcvz';
// 第1步,统计每个字符的出现次数
var o = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i); // 利用chars保存字符串中的每一个字符
if (o[chars]) { // 利用对象的属性来方便查找元素
o[chars]++;
} else { o[chars] = 1; }
}
console.log(o); // 输出结果:{z: 5, x: 2, c: 2, v: 2,b:1}
// 第2步, 统计出现最多的字符
var max = 0; // 保存出现次数最大值
var ch = ''; // 保存出现次数最多的字符
for (var k in o) {
if (o[k] > max) {
max = o[k];
ch = k;
}
}
// 输出结果:“出现最多的字符是:z,共出现了5次”
console.log('出现最多的字符是:' + ch + ',共出现了' + max + '次');
3、字符串的操作方法
字符串对象提供了一些用于截取字符串、连接字符串、替换字符串的属性和方法。字符串对象的常用属性和方法如下:
方法 | 作用 |
---|---|
concat(str1, str2, str3…) | 连接多个字符串 |
slice(start,[ end]) | 截取从start位置到end位置之间的一个子字符串 |
substring(start[, end]) | 截取从start位置到end位置之间的一个子字符串,基本和slice相同,但是不接收负值 |
substr(start[, length]) | 截取从start位置开始到length长度的子字符串 |
toLowerCase() | 获取字符串的小写形式 |
toUpperCase() | 获取字符串的大写形式 |
split([separator[, limit]) | 使用separator分隔符将字符串分隔成数组,limit用于限制数量 |
replace(str1, str2) | 使用str2替换字符串中的str1,返回替换结果,只会替换第一个字符 |
用户名长度在3~10范围内,不能出现敏感词admin的任何大小写形式。
//判断用户名是否合法
var name = prompt('请输入用户名');
if (name.length < 3 || name.length > 10) {
alert('用户名长度必须在3~10之间。');
} else if (name.toLowerCase().indexOf('admin') !== -1) {
alert('用户名中不能包含敏感词:admin。');
} else {
alert('恭喜您,该用户名可以使用');
}