動態方法:1、str.charAt(index); 返回子字符串,index為字符串下標,index取值范圍[0,str.length-1]
動態方法:2、str.charCodeAt(index); 返回子字符串的unicode編碼,index取值范圍同上
靜態方法:3、String.fromCharCode(num1,num2,...,numN); 根據unicode編碼返回字符串
【小應用】:只允許輸入數字檢測
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開始查找,找不到時返回-1
5、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); 正則匹配