动态方法:一、str.charAt(index); 返回子字符串,index为字符串下标,index取值范围[0,str.length-1]数组
动态方法:二、str.charCodeAt(index); 返回子字符串的unicode编码,index取值范围同上编码
静态方法:三、String.fromCharCode(num1,num2,...,numN); 根据unicode编码返回字符串spa
【小应用】:只容许输入数字检测code
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; }
四、str.indexOf(searchString,startIndex); 返回子字符串第一次出现的位置,从startIndex开始查找,找不到时返回-1blog
五、str.lastIndexOf(searchString,startIndex); 从由往左找子字符串,找不到时返回-1unicode
因为以上两个方法只能返回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; }
六、字符串之间的比较:比较第一个字符的unicode编码值,第一个字符要是相同,就比较第二个,依次往下input
'10000' < '2' 1的unicode值比2的unicode值小 truestring
'10000' > 2 转成数字比较 trueit
七、截取字符串
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; });
八、字符串分割成数组
str.split(separator,limit); 参数1指定字符串或正则,参照2指定数组的最大长度
例:str.split(""); 每一个字符都被分割 ['','','','']
str.split(); 整个字符串放到数组里 ['']
【引伸】:数组变成字符串
arr.join(分隔符) 以,链接
arr.join('') 无缝链接
arr.join('-') 以-链接
arr.join('<span>' + str + '</span>') 以表达式链接
九、str.replace(rgExp/substr,replaceText) 返回替换后的字符串
十、str.match(rgExp); 正则匹配