1. 程式人生 > >JS字符串常用方法

JS字符串常用方法

off substr cti repl 連接 bstr 裏的 dea too

動態方法: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); 正則匹配

JS字符串常用方法