JavaScript String 字符串方法


JavaScript String 字符串方法匯總

 
1.str.indexOf() 方法 查找字符串中的字符串   返回   字符串中指定文本首次出現的索引(位置)
      JavaScript 從零計算位置。0 是字符串中的第一個位置,1 是第二個,2 是第三個 ...
      無法設置更強大的搜索值(正則表達式)
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");
document.getElementById("demo").innerHTML = pos;
 
2.str.lastIndexOf() 方法向后進行檢索(從尾到頭)  返回指定文本在字符串中最后一次出現的索引

 var str = "The full name of China is the People's Republic of China.";
 var pos = str.lastIndexOf("China");
 document.getElementById("demo").innerHTML = pos;

 
3.str.search() 方法檢索字符串中的字符串    搜索特定值的字符串,並返回匹配的位置
     無法設置第二個開始位置參數
 

var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China");
document.getElementById("demo").innerHTML = pos;

 
4.str 提取部分字符串

   (1)     slice(startend)

   (2)     substring(startend)

   (3)     substr(startlength)

 

(1) slice() 方法

var str="Hello World";
var str1=str.slice(2); //如果只有一個參數,則提取開始下標到結尾處的所有字符串
var str2=str.slice(2,7); //兩個參數,提取下標為2,到下標為7但不包含下標為7的字符串
var str3=str.slice(-7,-2); //如果是負數,-1為字符串的最后一個字符。提取從下標-7開始到下標-2但不包含下標-2的字符串。前一個數要小於后一個數,否則返回空字符串

console.log(str1); //llo World
console.log(str2); //llo W
console.log(str3); //o Wor

(2)substring() 方法 

substring() 類似於 slice()

不同之處在於 substring() 無法接受負的索引 

如果省略第二個參數,則該 substring() 將裁剪字符串的剩余部分。

var str="Hello World";
var str1=str.substring(2)
var str2=str.substring(2,2);
var str3=str.substring(2,7);
console.log(str1); //llo World
console.log(str2); //如果兩個參數相等,返回長度為0的空串
console.log(str3); //llo W
(3) substr() 方法

substr() 類似於 slice()

不同之處在於第二個參數規定被提取部分的長度

如果首個參數為負,則從字符串的結尾計算位置

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);

結果:
Banana
 
5.str. replace() 方法用另一個值替換在字符串中指定的值 替換字符串內容
復制代碼
var str="hello WORLD";
var reg=/o/ig; //o為要替換的關鍵字,不能加引號,否則替換不生效,i忽略大小寫,g表示全局查找。
var str1=str.replace(reg,"**")
console.log(str1); //hell** W**RLD
復制代碼

6.str.toLowerCase(): 把字符串轉為小寫,返回新的字符

var str="Hello World";
var str1=str.toLowerCase();
console.log(str); //Hello World
console.log(str1); //hello world

7.str.toUpperCase(): 把字符串轉為大寫,返回新的字符串

var str="hello world";
var str1=str.toUpperCase();
console.log(str); //hello world
console.log(str1); //HELLO WORLD

8.str.charAt(): 返回指定下標位置的字符。如果index不在0-str.length(不包含str.length)之間,返回空字符串

var str="hello world";
var str1=str.charAt(6);
console.log(str1); 

9.str.charCodeAt(): 返回指定下標位置的字符的unicode編碼,這個返回值是 0 - 65535 之間的整數

var str="hello world";
var str1=str.charCodeAt(1);
var str2=str.charCodeAt(-2); //NaN
console.log(str1); //101

10.str.split(): 把字符串分割成字符串數組

復制代碼
var str="AA BB CC DD";
var string1="1:2:3:4:5";
var str1=str.split("");//如果把空字符串 ("")用作分割符,那么字符串的每個字符之間都會被分割
var str2=str.split(" "); //以空格為分隔符
var str3=str.split("",4); //4指定返回數組的最大長度
var str4=string1.split(":");
console.log(str1); // ["A", "A", " ", "B", "B", " ", "C", "C", " ", "D", "D"]
console.log(str2); //["AA" "BB" "CC" "DD"]
console.log(str3); //["A", "A", " ", "B"]
console.log(str4); // ["1", "2", "3", "4", "5"]
復制代碼

11.str.match(): 返回所有查找的關鍵字內容的數組

var str="To be or not to be";
var reg=/to/ig;
var str1=str.match(reg);
console.log(str1); //["To", "to"]
console.log(str.match("Hello")); //null
12. str.fromCharCode方法 
是接收一或多個字符編碼,然后將其轉換為字符串 
是String構造函數的一個靜態方法 
 console.log(String.fromCharCode(104,101,108,108,111));//hello 
 
13.str.localeCompare方法
用於比較兩個字符串 
    1.如果字符串在字母表中應該排在字符串參數之前,則返回一個負數 
    1.如果字符串等於字符串參數,則返回0 
    1.如果字符串在字母表中應該排在字符串參數之后,則返回一個正數 
var str="yellow"; 
    console.log(str.localeCompare("brick"));//1 
    console.log(str.localeCompare("yellow"));//0 
    console.log(str.localeCompare("zoo"));//-1 

14.big()  用大號字體顯示字符串

15.blink()  顯示閃動字符串

16.bold()  字符串粗體顯示

17.link()   將字符串顯示為鏈接

18.fontcolor()  指定顏色顯示

19.fontsize()  指定尺寸顯示

20.concat()  連接字符串

.......

ES6新增

 

1.str.trim() 用來刪除字符串前后的空格 

 
 var str="   hello world   "; 
    console.log('('+str.trim()+')');//(hello world) 
    console.log('('+str+')');//(   hello world   ) 

2.str.repeat()  返回一個新字符串,表示將原字符串重復n次

  var str = 'helloworld';

  str.repeat( n );//該字符串就會重復n遍;

3.str.padStart ()用於頭部補全

 

   var  str = '20199'; //長度達不到 指定位 ,

   str.padStart (8,‘ab’);

   //abab2019

4.str.padEnd ()用於尾部補全

 

   var  str = '2019'; //長度達不到 指定位 ,

   str.padEnd(8,‘ab’);

   //2019abab

5.str.raw()    往往用來充當模板字符串的處理函數,返回一個斜杠都被轉義(即斜杠前面再加一個斜杠)的字符串,對應於替換變量后的模板字符串

   

   String.raw = function (strings, ...values) {

   var output = "";

   for (var index = 0; index < values.length; index++) {

   output += strings.raw[index] + values[index];

   }

   output += strings.raw[index]

   return output;

   }

   //t0e1s2t

6.str.codePointAt()   正確解析四個字節的字符

      這兩個字符在UTF-16中編碼為 0xD842   和  0xDFB9 儲存起來需要四個字節,那么對於這樣四個字節的東西javascript 無法正確判斷,而是將其解析為兩個字符;
     charCodeAt會分別返回前兩個字節和后兩個字節的值; 而charAt壓根就無法識別;
     在ES6中提供給我們一個新的方法codePointAt(); 這個方法可以正確解析四個字節的字符。
     var s = "𠮹";
     console.log(s.codePointAt()) // 134073

7.String.fromCodePoint()   

 相當於ES5內的String.fromCharCode()
        先說說 String.fromCharCode()方法;這個方法無法正確識別 32位的 UTF-16字符(也就是上面提到的四個字節的字符 Unicode編碼 大於 0xFFFF);
        console.log(String.fromCharCode(0x20BB9 )) //  出現了一個奇怪的字符
        原因是什么那? 因為fromCharCode不識別四個字節的字符, 他會將第一位省略掉 , 也就是將 0x20BB9 去掉開頭 變成了0x0BB9;所以出現的結果不正確;
        但是ES6中的String.fromCodePoint()可以正確識別這樣的編碼; 
        console.log(String.fromCodePoint(0x20BB9)) //𠮹 顯示正確;
  console.log(String.fromCharCode(134066))//ல

8.includes() startsWith() endsWith() 判斷字符串中是否存在某個字符串

 var s = 'Hello world!';
   s.startsWith('Hello')   // true       以參數開頭
   s.endsWith('!')         // true       以參數結尾
   s.includes('o')         // true       包括參數;

8.ES6為字符串添加了遍歷器接口,使得字符串可以被for...of循環遍歷。這個遍歷器最大的優點是可以識別大於0xFFFF的碼點,傳統的for循環無法識別這樣的碼點,但是不能遍歷object

復制代碼
var text = String.fromCodePoint(0x20BB7);

for (let i = 0; i < text.length; i++) {
  console.log(text[i]);
}
// " "
// " "

for (let i of text) {
  console.log(i);
}
// "𠮷"
9.模板字符串(template string)是增強版的字符串,用反引號(`)標識。它可以當作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量
// 字符串中嵌入變量
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`
 
........
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM