var 變量名 =「值」; 對象類型是 String, 是字符串類型的值,javascript
var 對象名 = new String( "值") ;css
var strObj = new String("Hello, String!"); //建立一個字符串對象
使用typeof運算符查看會發現,上面的myStr類型爲string,而strObj類型爲object。java
String.length正則表達式
var str = "123"; alert(isNaN(str)) //false
var str = "sdfs"; alert(isNaN(str)); //true
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);
String.toUpperCase( );不修改調用字符串,返回一個新的值
var str = 'sdfASd'; var news = str.toUpperCase(); alert(news);
var news = str.toLowerCase();
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("子串");
能夠查正則表達式
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"]
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。