java script 字符串
处理已有字符块的各种方法
1.返回指定位置的字符
例: var test = 'stt'; document.write(test[0]); 结果为 s;
2.计算字符串的长度
例:var test = 'stt'; document.write(test.length); 结果为3;
3.返回对象的原始值
例:var test = new String('stt') document.write(test.valueOf()); 结果为:stt;
4.charAt()返回在指定位置的字符
例:var test = 'hello world' document.write(test.charAt(7)); 结果为o;
注意第一个字符下标为0;
5.charCodeAt()返回指定字符的ASCII码值
例:var test = 'abcs'; document.write(test.charCodeAt(2)); 结果为99;
解释:返回下标为2的字符的ASCII码值
6.fromCharCode()返回ASCII对应的字符
例:document.write(String.fromCharCode(99)); 结果为:c;
7.concat()连接字符串
例:var test = 'xiao'; document.write(test.concat('ming')); 结果为xiaoming;
注意:字符串类型可以解析空格,输出中不加引号的逗号会被解析为空格
8.indexOf()检索字符串
例:var test = 'xiaoming' document.write(test.indexOf('m')); 结果为:4
解释:indexOf()的参数为字符串返回值代表者查找字符串的位置当查找不到字符串时返回-1
注意:cahrAt()的参数为一个数字 代表字符串的位置返回该位置的字符串 indexOf()则是查找该字符串返回位置
引伸:通过indexOf()与循环whlie(){}结合统计一个字符在指定字符串中出现的次数
例:var test = qqwsssssttwetsdfe;
var count = 0;
var pos=str.indexOf('s');
while(pos!=-1){
count++;
pos=str.indexOf('s',pos+1);
}
9.lastIndexOf()从后向前检索字符串
例:var test = 'xiaomingm' document.write(test.indexOf('m')); 结果为:8
注意:从后向前检索时返回字符串的下标还是原下标
10.localeCompare() 比较两个字符串 ASCII码值进行比较
例:document.write('a'.localeCompare('b')); 结果为:-1;
解释:当参数的ASCII码值大于比较字符时返回 -1;小于时返回1;等于时返回0
11. match()找到一个或多个正则表达式的匹配
例: var test = ' jin tian chi de sm an';
var re = /AN/i 这是一个正则表达式 其中 AN是要匹配的字符 i代表不区分大小写 还可以写g 代表全局匹配
document.wrote(test.match(re));
解释:返回值为一个数组对象 数组中包含 要匹配字符的位置 原始字符串
var re = /AN/ig
document.write(test.match(re)); 不区分大小写并且进行全局匹配
解释:返回值数组中包括 要匹配的字符 出现几次 存储几个 以及每个的位置
12.search():根据正则表达式进行搜索
例 var test = ' jin tian chi de sm an';
document.write(test.search(/ch/)); 结果为:10
解释 参数为一个正则表达式 返回值为要匹配字符的下标
注意 search() 与match() 的返回值不同
13.replace()替换与正则表达式匹配的子串。
var test = 'ab';
var string = test.replace(/b/ig,'c');
document.write(string); 结果为ac;
解释:将正则表达式找到的字符替换为 第二个参数 第一个参数为正则表达式 第二个为要替换的字符
复杂用法:var str="2015-09-26";
var newStr=str.replace(/(\d{4})-(\d{2})-(\d{2})/,"$2/$3/$1");
console.log(newStr); 结果为: 09/26/2015;
解释:匹配-前n个长度的字符并变换顺序输出
14.slice()截取字符串
例:var str='abcdef';
console.log(str.slice(0,2));
解释:从下标为0的字符开始截取到下标为2的字符结束 不包括下标为2的字符
15.split()将字符串拆分成数组
例:var str='a b c d e f';
var arr=str.split(' ',3);
console.log(arr);
解释;把字符拆分成数组 第一个参数代表以什么为分割界 第二个参数代表拆分数组的长度