12.JavaScript字串方法
阿新 • • 發佈:2018-12-05
JS字串常用方法總結
動態方法: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>') 以表示式連線