JavaScript---字符串用法總結

1、建立字符串

var 變量名 =「值」; 對象類型是 String, 是字符串類型的值,javascript

var  對象名 = new String( "值") ;css

var strObj = new String("Hello, String!");  //建立一個字符串對象
  使用typeof運算符查看會發現,上面的myStr類型爲string,而strObj類型爲object。java

2、字符串的長度

String.length正則表達式

3、isNaN() 函數用於檢查其參數是不是非數字值。(不是判斷是否爲字符串類型)

var str = "123";
alert(isNaN(str)) //false
var str = "sdfs";
alert(isNaN(str)); //true

4、字符串的拼接

1.將兩個或多個字符串拼接爲一個大的字符串
用一個"+"將兩個字符串"相加":數組

var longString = "One piece " + "plus one more piece.";函數

2. 要將多個字符串累積爲一個字符串,還可使用"+="操做符:lua

var result = "";
         result += "Hello!"
         result += " nice to meet you";   
         alert(result);

3.像警告、確認對話框之類的狀況下字符換行 須要使用轉義字符"\n"spa

var confirmString = "今每天氣不錯 " +
        "你肯定\n 不出去轉轉";
        var confirmValue = confirm(confirmString);

4. 將這段文本做爲HTML內容呈現,\n就無效了,此時用"<br>"代替它code

var dString = "今每天氣不錯 " +
        "你肯定<br> 不出去轉轉";
        document.write(dString);

5. concat函數(返回一個新函數)對象

var str1 = "abc";
      var str2 = 'def';
      var str3 = str1.concat(str2);
      alert(str3);

abcdef

5、大小寫轉換

String.toUpperCase( );不修改調用字符串,返回一個新的值

var str = 'sdfASd';
      var news = str.toUpperCase();
      alert(news);

var news = str.toLowerCase();

6、字符串查找

indexOf( "查找的子串「,起始查找位置(默認爲0));    indexOf()返回str 中 所查找子串 的開始位置,若是沒有找到,則返回-1。

var str = "abcdef";
      var n=str.indexOf("def");
      alert(n); //3 第一個匹配的位置爲3

也許一個字符串會包含另外一字符串不止一次,這時第二個參數 startIndex 會派上用場。

下面這個函數演示如何求得一個字符串包含另一個字符串的次數:

當所查的是子字符串 ,下一次查詢的的位置 : pos +=minStr.length;

function countStr(str,minStr){
     	var count =0;
     	var len =str.length
     	var pos =0;
     	while(pos<len){
     		pos = str.indexOf(minStr,pos);
     		if(pos == -1)break;
     		count++;
     		pos +=minStr.length;
     	}
     	return count;
     }
     
     var str ="abcssabcssabd";
     var num = countStr(str,"abc");
     alert(num);//2

    strObj.lastIndexOf(subString,startindex)該方法自右向左查找,返回subString在strObj中最後出現的位置,若是沒有找到,返回-1.

字符串.search("子串");

能夠查正則表達式   

7、字符串分割: Split( )

split( ) 方法用於把一個字符串分割成 字符串數組。

stringObject.split(separator,howmany)

separator 必需。字符串或正則表達式,從該參數指定的地方分割 stringObject。

 

howmany 可選。該參數可指定返回的數組的最大長度。若是設置了該參數,返回的子串不會多於這個參數指定的數組。若是沒有設置該參數,整個字符串都會被分割,不考慮它的長度。
var str="How are you doing today?"
	
    document.write(str.split(" ") + "<br />"); //空格處分割
	document.write(str.split("") + "<br />") ;//若是把空字符串 ("")用做 separator,那麼 stringObject    //中的每一個字符之間都會被分割。
	document.write(str.split(" ",3)) //返回三個

"2:3:4:5".split(":")	//將返回["2", "3", "4", "5"]
"|a|b|c".split("|")	//將返回["", "a", "b", "c"]

使用下面的代碼,能夠把句子分割成單詞:

var words = sentence.split(' ')

或者使用正則表達式做爲 separator:

var words = sentence.split(/\s+/)

若是您但願把單詞分割爲字母,或者把字符串分割爲字符,可以使用下面的代碼:

"hello".split("")	//可返回 ["h", "e", "l", "l", "o"]

若只須要返回一部分字符,請使用 howmany 參數:

"hello".split("", 3)	//可返回 ["h", "e", "l"]

8、訪問子串

slice()

定義:接受一個或者兩個參數,第一個參數指定子字符串的開始位置。第二個參數表示子字符串的結束位置(不包括結束位置的那個字符),若是沒有傳遞第二個參數,則將字符串的長度做爲結束位置。

一、傳遞參數爲正值狀況:

 var str ="helloWorld "; // 一個參數,則將字符串長度做爲結束位置
 alert(str.slice(3));       // "loWorld"
 // 兩個參數,7位置上的字符爲"r",但不包括結束位置的字符
   alert(str.slice(3,7)); // "loWo"

二、傳遞參數爲負值的狀況:將負值與字符串長度相加

// slice()方法會將傳入的負值與字符串長度相加。
  var str ="helloWorld";// 一個參數,與字符串長度相加即爲slice(7)
  alert(str.slice(-3)); // "rld"
  // 兩個參數,與字符串長度相加即爲slice(3,6)
  alert(str.slice(3,-4)); // "loW"

三、第二個參數比第一個參數值小的狀況:

var str ="helloWorld";
 alert(str.slice(5,3)); // ""返回空值

substring()  --返回一個新的字符串

定義:接受一個或者兩個參數,第一個參數指定子字符串的開始位置。第二個參數表示子字符串的結束位置(不包括結束位置的那個字符),若是沒有傳遞第二個參數,則將字符串的長度做爲結束位置。

一、傳遞參數爲正值狀況:與slice()方法行爲相同的

var str ="helloWorld";
  // 一個參數,則將字符串長度做爲結束位置
  alert(str.substring(3)); // "loWorld" 起始索引位置爲3,到最後
  // 兩個參數,7位置上的字符爲"r",但不包括結束位置的字符
  alert(str.substring(3,7)); // "loWo"

二、傳遞參數爲負值的狀況:

substring()方法會把全部負值參數轉換爲0。

var str ="helloWorld";
  // 兩個參數,-4會轉換爲0,至關於substring(3,0) -->即爲 substring(0,3)
  alert(str.substring(3,-4)); // "hel"

substring()方法會將較小的數做爲開始位置,將較大的數做爲結束位置。如上面的例子substring(3,0) 與substring(0,3)是同樣效果的。

substr()

定義:接受一個或者兩個參數,第一個參數指定子字符串的開始位置。第二個參數跟以前的方法有些區別,表示返回的字符個數。若是沒有傳遞第二個參數,則將字符串的長度做爲結束位置。來看例子:

一、傳遞參數爲正值狀況:

var str ="helloWorld";
  // 一個參數,則將字符串長度做爲結束位置
  alert(str.substr(3)); // "loWorld"
  // 兩個參數,從位置3開始截取後面7個字符
  alert(str.substr(3,7)); // "loWorld"

二、傳遞參數爲負值的狀況:

substr()方法會將 負的第一個參數加上字符串的長度,而將負的第二個參數轉換爲0。

var str ="helloWorld";
  // 將第一個負的參數加上字符串的長度--->10-3=7/即爲:substr(7,5) ,從位置7開始向後截取5個字符
  alert(str.substr(-3,5)); // "rld"
  // 將第二個參數轉換爲0// 即爲:substr(3,0),即從位置3截取0個字符串,則返回空
  alert(str.substr(3,-2)); // ""

在傳遞正值參數狀況下,slice( ) 和 substring ( ) 行爲是一致的,substr()方法在第二個參數上會容易混淆

在傳遞負值參數狀況下,slice() 方法是經過字符串長度相加,符合通常思惟,substring()第二個參數轉換爲0會容易出問題,起始位置會容易變動,substr() 方法負值狀況下會出現IE兼容性問題。

slice,substr和substring的區別

slice和substring接收的是起始位置和結束位置(不包括結束位置),而substr接收的則是起始位置和所要返回的字符串長度。

substring是以兩個參數中較小一個做爲起始位置,較大的參數做爲結束位置。

接着,當接收的參數是負數時,slice會將它字符串的長度與對應的負數相加,結果做爲參數;substr則僅僅是將第一個參數與字符串長度相加後的結果做爲第一個參數;substring則乾脆將負參數都直接轉換爲0。

相關文章
相關標籤/搜索