字符串的生成轉換javascript
你能夠將任何類型的數據都轉換爲字符串,你能夠用下面三種方法的任何一種:java
var num= 19; // 19 var myStr = num.toString(); // "19" var myStr = String(num); // "19" var myStr = "" +num; // "19"
字符串轉化爲其餘類型正則表達式
js提供了parseInt()和parseFloat()兩個轉換函數,Number也能夠實現轉化數組
parseInt("1234blue"); //returns 1234 parseInt("0xA"); //returns 10 parseInt("22.5"); //returns 22 parseInt("blue"); //returns NaN parseInt("10", 2); //returns 2 parseInt("10", 8); //returns 8 parseInt("10", 10); //returns 10 parseInt("AF", 16); //returns 175 parseFloat("1234blue"); //returns 1234.0 parseFloat("0xA"); //returns NaN parseFloat("22.5"); //returns 22.5 parseFloat("22.34.5"); //returns 22.34 parseFloat("0908"); //returns 908 parseFloat("blue"); //returns NaN Number(false) //0 Number(true) //1 Number(undefined) //NaN Number(null) //0 Number( "5.5 ") //5.5 Number( "56 ") //56 Number( "5.6.7 ") //NaN Number(new Object()) //NaN Number(100) //100
字符的操做app
var myStr = "I,love,you,Do,you,love,me"; var theChar = str.charAt(8); //獲取指定索引上的字符o var theCharcode = myStr.charCodeAt(8); //獲取指定索引上的字符編碼 111
字符串增刪查改函數
//替換 name = " Muaneng Tuanpeng ".trim(); //trim()刪除字符串先後空格 name =name.replace("eng","ing"); //replace替換第一個eng成ing。 name =name.replace(/eng/g,"ing"); //replace接收正則表達式,/g替換所有。 //查詢 var beginindex=name.indexOf("t",name.length-10);//indexOf和lastindexOf查詢子字符串的位置,第二個參數表示從哪一個索引開始向對面搜索。length函數表示取字符串的長度。未查詢到時返回-1。 var endindex = name.lastIndexOf("g",0); //截取 var subStr = name.slice(1,5); //讀取子字符串,起始下標(包含),結束下標(不包含) name1 = name.substring(beginindex,endindex); //slice、substring參數爲首尾下標,substr爲起點下標和長度。都不改變源字符串。 name1 = name.substr(-4); //傳入負值時,slice將負值加上字符串長度,substr將第一個負值加上字符串長度,第二個負值轉爲0,substring將負值都轉爲0 //拼接 name1 = name+"Yes"+1; //使用+號拼接字符串和數據成一個新的字符串 name1 = name.concat("yes"); //也能夠使用concat函數拼接字符串 //大小寫轉換 var lowCaseStr = name.toLowerCase(); //所有轉換爲小寫 var upCaseStr = name.toUpperCase(); //所有轉化爲大寫
字符串比較
比較兩個字符串,比較是規則是按照字母表順序比較的this
var myStr = "chicken"; var myStrTwo = "egg"; var first = myStr.localeCompare(myStrTwo); // -1,表示小於 first = myStr.localeCompare("chicken"); // 0,表示等於 first = myStr.localeCompare("apple"); // 1,表示大於
字符串分割編碼
var myStr = "I,Love,You,Do,you,love,me"; var substrArray = myStr .split(","); // ["I", "Love", "You", "Do", "you", "love", "me"]; var arrayLimited = myStr .split(",", 3)[0]; // split()的第二個參數,表示返回的字符串數組的最大長度。這裏取["I", "Love", "You"]數組的第一個元素,即"I";
正則法則 spa
正則表達式 = /pattern/flags 其中flags中g表示匹配所有,i表示不區分大小寫,m表示匹配多行。 pattern包含 ([{\^$|)?*+.]}元字符,若匹配的字符串中包含元字符,使用\轉義。 var patter1 = /(.)u/gi; //正則表達式,標誌沒有,可爲空,也能夠使用var patter1 = new RegExp("pattern","flags"),使用new是建立對象 if(patter1.test(name)){ //test查找符合要求的子串是否存在,返回true RegExp.input; //原始字符串 RegExp.leftContext; //捕捉到的位置的左邊字符串 RegExp.rightContext; //捕捉到的位置的右邊字符串 RegExp.lastMatch; //返回最近一次與整個正則表達式匹配的字符串 mu RegExp.lastParen; //返回最近一次捕捉的字符 patter1.global; //返回正則是否包含全局標誌g } var matches = patter1.exec(name); //查找符合要求的子串。matches.index表示查找到的起始下標,matches.input表示輸入字符串。patter1.lastIndex表示查找到的結束下標,matches[0]表示查找到的第一個匹配項,若匹配項爲全局模式,則每次調用返回下一個匹配項。
正則表達式字符prototype
\ 作爲轉義,即一般在"\"後面的字符不按原來意義解釋,如/b/匹配字符"b",當b前面加了反斜杆後/\b/,轉意爲匹配一個單詞的邊界。 -或- 對正則表達式功能字符的還原,如"*"匹配它前面元字符0次或屢次,/a*/將匹配a,aa,aaa,加了"\"後,/a\*/將只匹配"a*"。 ^ 匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a" $ 匹配一個輸入或一行的結尾,/a$/匹配"An a",而不匹配"an A" * 匹配前面元字符0次或屢次,/ba*/將匹配b,ba,baa,baaa + 匹配前面元字符1次或屢次,/ba*/將匹配ba,baa,baaa ? 匹配前面元字符0次或1次,/ba*/將匹配b,ba (x) 匹配x保存x在名爲$1...$9的變量中 x|y 匹配x或y {n} 精確匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配這個集合中的任一一個字符(或元字符) [^xyz] 不匹配這個集合中的任何一個字符 [\b] 匹配一個退格符 \b 匹配一個單詞的邊界 \B 匹配一個單詞的非邊界 \cX 這兒,X是一個控制符,/\cM/匹配Ctrl-M \d 匹配一個字數字符,/\d/ = /[0-9]/ \D 匹配一個非字數字符,/\D/ = /[^0-9]/ \n 匹配一個換行符 \r 匹配一個回車符 \s 匹配一個空白字符,包括\n,\r,\f,\t,\v等 \S 匹配一個非空白字符,等於/[^\n\f\r\t\v]/ \t 匹配一個製表符 \v 匹配一個重直製表符 \w 匹配一個能夠組成單詞的字符(alphanumeric,這是個人意譯,含數字),包括下劃線,如[\w]匹配"$5.98"中的5,等於[a-zA-Z0-9] \W 匹配一個不能夠組成單詞的字符,如[\W]匹配"$5.98"中的$,等於[^a-zA-Z0-9]。
字符串原型
經過修改字符串的原型,能夠爲全部字符串添加公共函數。
String.prototype.startwith = function(text){ //設置字符串引用的原型,爲String類型變量添加方法 return this.indexOf(text)==0; }; var begin = name.startwith("mu"); //調用原型方法