[JS]字符串常用方法
2018-03-07 16:58
218 查看
动态方法:1、str.charAt(index); 返回子字符串,index为字符串下标,index取值范围[0,str.length-1]动态方法:2、str.charCodeAt(index); 返回子字符串的unicode编码,index取值范围同上静态方法:3、String.fromCharCode(num1,num2,...,numN); 根据unicode编码返回字符串【小应用】:只允许输入数字检测
4、str.indexOf(searchString,startIndex); 返回子字符串第一次出现的位置,从startIndex开始查找,找不到时返回-15、str.lastIndexOf(searchString,startIndex); 从由往左找子字符串,找不到时返回-1由于以上两个方法只能返回1次,当需要将一段字符串里的所有searchString出现的位置都查找出来时,这样做:
6、字符串之间的比较:比较第一个字符的unicode编码值,第一个字符要是相同,就比较第二个,依次往下 '10000' < '2' 1的unicode值比2的unicode值小 true '10000' > 2 转成数字比较 true 7、截取字符串 str.substring(start,end); 两个参数都为正数,返回值:[start,end) 也就是说返回从start到end-1的字符 str.slice(start,end); 两个参数可正可负,负值代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的字符 不建议用:str.substr(start,length); start参数可正可负,负数代表从右截取 除了 slice() 和 substr() 方法里的负值是代表从右截取,其他方法里的负值一律作为0处理 【引申】:截取数组 arr.slice(start,end); 两个参数可正可负,负值代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的字符 【小应用】:开关的写法
8、字符串分割成数组 str.split(separator,limit); 参数1指定字符串或正则,参照2指定数组的最大长度 例:str.split(""); 每个字符都被分割 ['','','',''] str.split(); 整个字符串放到数组里 [''] 【引申】:数组变成字符串 arr.join(分隔符) 以,连接 arr.join('') 无缝连接 arr.join('-') 以-连接 arr.join('<span>' + str + '</span>') 以表达式连接 9、str.replace(rgExp/substr,replaceText) 返回替换后的字符串 10、str.match(rgExp); 正则匹配
var str = $("input").val(); if(detectNum(str)) { alert("是数字"); } function detectNum(str1) { var n = 0; for(var i=0;i<str1.length;i++) { n=str1.charCodeAt(i); if(n<48 || n>57) { return false; } } return true; }
4、str.indexOf(searchString,startIndex); 返回子字符串第一次出现的位置,从startIndex开始查找,找不到时返回-15、str.lastIndexOf(searchString,startIndex); 从由往左找子字符串,找不到时返回-1由于以上两个方法只能返回1次,当需要将一段字符串里的所有searchString出现的位置都查找出来时,这样做:
var str = "........"; var s = "妙味"; var i = 0; for( ; str.indexOf(s,i) != -1 ; ) { console.log(str.indexOf(s,i)); i = str.indexOf(s,i) + s.length; }
6、字符串之间的比较:比较第一个字符的unicode编码值,第一个字符要是相同,就比较第二个,依次往下 '10000' < '2' 1的unicode值比2的unicode值小 true '10000' > 2 转成数字比较 true 7、截取字符串 str.substring(start,end); 两个参数都为正数,返回值:[start,end) 也就是说返回从start到end-1的字符 str.slice(start,end); 两个参数可正可负,负值代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的字符 不建议用:str.substr(start,length); start参数可正可负,负数代表从右截取 除了 slice() 和 substr() 方法里的负值是代表从右截取,其他方法里的负值一律作为0处理 【引申】:截取数组 arr.slice(start,end); 两个参数可正可负,负值代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的字符 【小应用】:开关的写法
var onOff = true; $("button").click(function() { if() { }else{ } onOff = !onOff; });
8、字符串分割成数组 str.split(separator,limit); 参数1指定字符串或正则,参照2指定数组的最大长度 例:str.split(""); 每个字符都被分割 ['','','',''] str.split(); 整个字符串放到数组里 [''] 【引申】:数组变成字符串 arr.join(分隔符) 以,连接 arr.join('') 无缝连接 arr.join('-') 以-连接 arr.join('<span>' + str + '</span>') 以表达式连接 9、str.replace(rgExp/substr,replaceText) 返回替换后的字符串 10、str.match(rgExp); 正则匹配