<b>字符串操作:</b>
strObj.charAt(index) 返回 字符/''
strObj.indexOf(字符) 返回 下標(biāo)/-1
strObj.lastIndexOf(字符) 返回 下標(biāo)/-1
strObj.substring(start,end) 返回 字符/''
strObj.split(規(guī)則) 返回 數(shù)組/長(zhǎng)度為1的數(shù)組
strObj.toUpperCase('bmw') 返回 字符
strObj.toLowerCase()
strObj.charCodeAt(index) 返回 數(shù)字(code)
String.fromCharCode(code) 返回 字符/''
strObj.replace(要替換的字符,替換后的字符) 返回 字符/''
strObj.replace(要替換的字符,function(s){
s == 每次找到的 要替換的字符
})
<b>新的字符方法:(常用于正則)</b>
strObj.search(字符|正則) 相當(dāng)于~~ indexOf
strObj.match(字符|正則) 返回 數(shù)組/null
<b> 正則的方法:</b>
re.test(字符) true/false
*** 只找到一組滿足需求的,就是true
<b> 正則:表達(dá)式、規(guī)則 (regular expression)</b>
干嘛的: 操作字符的
區(qū)別: 正則只是個(gè)規(guī)則续滋,字符方法是具體的實(shí)施
場(chǎng)景: 郵箱校驗(yàn),手機(jī)號(hào)绍哎,身份號(hào)...
推薦: 操作字符的情況望忆,都用正則,性能更優(yōu)
<b>正則公共特性:</b>
惰性匹配(懶,笨):默認(rèn)情況只找一個(gè)
貪婪原則 1個(gè)我要穿仪,多了我也要
匹配: 默認(rèn)情況下左到右一個(gè)一個(gè)整體匹配
*** 行首行尾意荤,建議永遠(yuǎn)都加上
<b>創(chuàng)建正則對(duì)象:</b>
var re = new RegExp('規(guī)則','選項(xiàng)') js風(fēng)格
var re = /規(guī)則/選項(xiàng) perl風(fēng)格
<b>規(guī)則:</b>
量詞: 默認(rèn)情況只管前面一個(gè),一組
{n} 正好n次
{n,m} n到m個(gè)
{n,} 至少n次啊片,多了不限
{0,m} 至多m次,少了不限
+ 一次玖像,或者多次 {1,}
* 任意次 {0,} 不推薦
? 有或者無 {0,1}
或: | 優(yōu)先級(jí)很低
修飾:
^ 行首
$ 行尾
\b 單詞邊界 (boundary) 一個(gè)單詞兩個(gè)邊界
能把單詞分開紫谷,都是boundary捐寥,不是單詞的,就是單詞邊界
_ 是個(gè)單詞 -不是單詞
方括號(hào): []
里面的內(nèi)容任選一個(gè)握恳,不可都選
- 多少到多少
[]里面 加\ 為了好記憶,目標(biāo)去了功能
^ 在方括號(hào)里面: 排除,寫在最前面瞒窒,排除后面所有
分組:()
要處理的內(nèi)容編組
選項(xiàng):
i ignore(忽略大小寫)
g global(全局查找)
m muti-line(多行模式)
轉(zhuǎn)義:
js:
\ 就是轉(zhuǎn)義本身
\n n被轉(zhuǎn)義
\nX X不被轉(zhuǎn)義
*** \xX X不轉(zhuǎn)義, 不是所有的x都會(huì)被轉(zhuǎn)義
如果需要\(轉(zhuǎn)義本身)出現(xiàn) \\
正則:
\d digital(數(shù)字) [0-9]
\w word(單詞) 英文數(shù)字下劃線 [a-zA-Z0-9_]
\s space(空白字符)
. 任意字符
\W 非單詞
\D 非數(shù)字
\S 非空白字符
\ 如果需要\本身出現(xiàn),再加\
\u