欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

JavaScript中正則表達(dá)式是怎樣的

JavaScript中正則表達(dá)式是怎樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),鎮(zhèn)雄網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:鎮(zhèn)雄等地區(qū)。鎮(zhèn)雄做網(wǎng)站價(jià)格咨詢(xún):028-86922220

好程序員web前端培訓(xùn)分享JavaScript學(xué)習(xí)筆記之正則,正則表達(dá)式,又名 “規(guī)則表達(dá)式”

由我們自己來(lái)書(shū)寫(xiě) “規(guī)則”,專(zhuān)門(mén)用來(lái)檢測(cè) 字符串 是否符合 “規(guī)則” 使用的

我們使用一些特殊的字符或者符號(hào)定義一個(gè) “規(guī)則公式”,然后用我們定義好的 “規(guī)則公式” 去檢測(cè)字符串是不是合格

var reg = /\d+/var str1 = '123'var str2 = 'abc'console.log(reg.test(str1)) // trueconsole.log(reg.test(str2)) // false

· 上面的變量 reg 就是定制好的規(guī)則

· 檢測(cè) str1 這個(gè)字符串的時(shí)候,符合規(guī)則

· 檢測(cè) str2 這個(gè)字符串的時(shí)候,不符合規(guī)則

創(chuàng)建一個(gè)正則表達(dá)式

· 想制定 “規(guī)則”,必須要按照人家要求的方式來(lái)制定

· 把一些字母和符號(hào)寫(xiě)在 // 中間的東西,叫做正則表達(dá)式,比如 /abcdefg/

· 創(chuàng)建正則表達(dá)式有兩個(gè)方式 字面量 和 構(gòu)造函數(shù)創(chuàng)建

字面量創(chuàng)建

// 下面就是字面量創(chuàng)建一個(gè)正則表達(dá)式var reg = /abcdefg/

· 這個(gè)正則表達(dá)式就可以去檢測(cè)字符串了

構(gòu)造函數(shù)創(chuàng)建

// 下面就是構(gòu)造函數(shù)創(chuàng)建一個(gè)正則表達(dá)式var reg = new RegExp('abcdefg')console.log(reg) //  /abcdefg/

· 使用構(gòu)造函數(shù)方式創(chuàng)建的和字面量創(chuàng)建的,得到的結(jié)果一樣

正則表達(dá)式里面的符號(hào)

· 知道了怎么創(chuàng)建一個(gè)正則表達(dá)式以后,我們就來(lái)詳細(xì)的說(shuō)一下正則表達(dá)式里面涉及到的一些符號(hào)了

元字符

· . : 匹配非換行的任意字符

· \ : 轉(zhuǎn)譯符號(hào),把有意義的 符號(hào) 轉(zhuǎn)換成沒(méi)有意義的 字符,把沒(méi)有意義的 字符 轉(zhuǎn)換成有意義的 符號(hào)

· \s : 匹配空白字符(空格/制表符/...)

· \S : 匹配非空白字符

· \d : 匹配數(shù)字

· \D : 匹配非數(shù)字

· \w : 匹配數(shù)字字母下劃線

· \W : 匹配非數(shù)字字母下劃線

· 有了元字符我們就可以簡(jiǎn)單的制定一些規(guī)則了

var reg = /\s/var str = 'a b'var str2 = 'ab'console.log(reg.test(str)) // trueconsole.log(reg.test(str2)) // falsevar reg = /\d/var str = 'abc1'var str2 = 'abc'console.log(reg.test(str)) // trueconsole.log(reg.test(str2)) // falsevar reg = /\w/var str = 'a1'var str2 = '#@$'console.log(reg.test(str)) // trueconsole.log(reg.test(str2)) // false

限定符

· * : 前一個(gè)內(nèi)容重復(fù)至少 0 次,也就是可以出現(xiàn) 0 ~ 正無(wú)窮 次

· + : 前一個(gè)內(nèi)容重復(fù)至少 1 次,也就是可以出現(xiàn) 1 ~ 正無(wú)窮 次

· ? : 前一個(gè)內(nèi)容重復(fù) 0 或者 1 次,也就是可以出現(xiàn) 0 ~ 1 次

· {n} : 前一個(gè)內(nèi)容重復(fù) n 次,也就是必須出現(xiàn) n 次

· {n,} : 前一個(gè)內(nèi)容至少出現(xiàn) n 次,也就是出現(xiàn) n ~ 正無(wú)窮 次

· {n,m} : 前一個(gè)內(nèi)容至少出現(xiàn) n 次至多出現(xiàn) m 次,也就是出現(xiàn) n ~ m 次

· 限定符是配合元字符使用的

// 下面正則表示驗(yàn)證數(shù)字出現(xiàn) 0 ~ 正無(wú)窮次都可以var reg = /\d*/var str = 'abc'var str2 = 'abc1'var str3 = 'abc123'console.log(reg.test(str)) // trueconsole.log(reg.test(str2)) // trueconsole.log(reg.test(str3)) // true// 下面正則表示驗(yàn)證數(shù)字出現(xiàn) 1 ~ 正無(wú)窮次都可以var reg = /\d+/var str = 'abc'var str2 = 'abc1'var str3 = 'abc123'console.log(reg.test(str)) // falseconsole.log(reg.test(str2)) // trueconsole.log(reg.test(str3)) // true// 下面正則表示驗(yàn)證數(shù)字出現(xiàn) 0 ~ 1 次都可以var reg = /\d?/var str = 'abc'var str2 = 'abc1'console.log(reg.test(str)) // trueconsole.log(reg.test(str2)) // true// 下面正則表示驗(yàn)證數(shù)字必須出現(xiàn) 3 次var reg = /\d{3}/var str = 'abc'var str2 = 'abc1'var str3 = 'abc123'console.log(reg.test(str)) // falseconsole.log(reg.test(str2)) // falseconsole.log(reg.test(str3)) // true// 下面正則表示驗(yàn)證數(shù)字出現(xiàn) 3 ~ 正無(wú)窮次var reg = /\d{3,}/var str = 'abc'var str2 = 'abc1'var str3 = 'abc123'var str4 = 'abcd1234567'console.log(reg.test(str)) // falseconsole.log(reg.test(str2)) // falseconsole.log(reg.test(str3)) // trueconsole.log(reg.test(str4)) // true// 下面正則表示驗(yàn)證數(shù)字只能出現(xiàn) 3 ~ 5 次var reg = /\d{3,5}/var str = 'abc'var str2 = 'abc1'var str3 = 'abc123'var str4 = 'abc12345'console.log(reg.test(str)) // falseconsole.log(reg.test(str2)) // falseconsole.log(reg.test(str3)) // trueconsole.log(reg.test(str4)) // true

邊界符

· ^ : 表示開(kāi)頭

· $ : 表示結(jié)尾

· 邊界符是限定字符串的開(kāi)始和結(jié)束的

// 下面表示從開(kāi)頭到結(jié)尾只能有數(shù)字,并且出現(xiàn) 3 ~ 5 次var reg = /^\d{3,5}$/var str = 'abc'var str2 = 'abc123'var str3 = '1'var str4 = '1234567'var str5 = '123'var str6 = '12345'console.log(reg.test(str)) // falseconsole.log(reg.test(str2)) // falseconsole.log(reg.test(str3)) // falseconsole.log(reg.test(str4)) // falseconsole.log(reg.test(str5)) // trueconsole.log(reg.test(str6)) // true

特殊符號(hào)

· () : 限定一組元素

· [] : 字符集合,表示寫(xiě)在 [] 里面的任意一個(gè)都行

· [^] : 反字符集合,表示寫(xiě)在 [^] 里面之外的任意一個(gè)都行

· - : 范圍,比如 a-z 表示從字母 a 到字母 z 都可以

· | : 或,正則里面的或 a|b 表示字母 a 或者 b 都可以

· 現(xiàn)在我們就可以把若干符號(hào)組合在一起使用了

// 下面是一個(gè)簡(jiǎn)單的郵箱驗(yàn)證// 非_$開(kāi)頭,任意字符出現(xiàn)至少6次,一個(gè)@符號(hào),(163|126|qq|sina)中的任意一個(gè),一個(gè)點(diǎn),(com|cn|net)中的任意一個(gè)var reg = /^[^_$].{6,}@(163|126|qq|sina)\.(com|cn|net)$/

標(biāo)示符

· i : 表示忽略大小寫(xiě)

· 這個(gè) i 是寫(xiě)在正則的最后面的

· /\w/i

· 就是在正則匹配的時(shí)候不去區(qū)分大小寫(xiě)

· g : 表示全局匹配

· 這個(gè) g 是寫(xiě)在正則的最后面的

· /\w/g

· 就是全局匹配字母數(shù)字下劃線

正則表達(dá)式的方法

· 正則提供了一些方法給我們使用

· 用來(lái)檢測(cè)和捕獲字符串中的內(nèi)容的

test

· test 是用來(lái)檢測(cè)字符串是否符合我們正則的標(biāo)準(zhǔn)

· 語(yǔ)法: 正則.test(字符串)

· 返回值: boolean

console.log(/\d+/.test('123')) // trueconsole.log(/\d+/.test('abc')) // false

exec

· exec 是把字符串中符合條件的內(nèi)容捕獲出來(lái)

· 語(yǔ)法: 正則.exec(字符串)

· 返回值: 把字符串中符合正則要求的第一項(xiàng)以及一些其他信息,以數(shù)組的形式返回

var reg = /\d{3}/var str = 'hello123world456你好789'var res = reg.exec(str)console.log(res)/* ["123", index: 5, input: "hello123world456你好789", groups: undefined]    0: "123"    groups: undefined    index: 5    input: "hello123world456你好789"    length: 1  __proto__: Array(0)*/

· 數(shù)組第 0 項(xiàng)就是匹配到的字符串內(nèi)容

· index 屬性表示從字符串的索引幾開(kāi)始是匹配的到字符串

字符串的方法

· 字符串中有一些方法也是可以和正則一起使用的

search

· search 是查找字符串中是否有滿足正則條件的內(nèi)容

· 語(yǔ)法: 字符串.search(正則)

· 返回值 : 有的話返回開(kāi)始索引,沒(méi)有返回 -1

var reg = /\d{3}/var str = 'hello123'var str2 = 'hello'console.log(str.search(reg)) // 5console.log(str2.search(reg)) // -1

match

· match 找到字符串中符合正則條件的內(nèi)容返回

· 語(yǔ)法: 字符串.match(正則)

· 返回值 : 

· 沒(méi)有標(biāo)示符 g 的時(shí)候,是和 exec 方法一樣

· 有標(biāo)示符 g 的時(shí)候,是返回一個(gè)數(shù)組,里面是匹配到的每一項(xiàng)

var reg = /\d{3}/var str = 'hello123world456'var str2 = 'hello'console.log(str.match(reg)) // ["123", index: 5, input: "hello123wor456", groups: undefined]console.log(str2.match(reg)) // nullvar reg = /\d{3}/gvar str = 'hello123world456'var str2 = 'hello'console.log(str.match(reg)) // ["123", "456"]console.log(str2.match(reg)) // null

replace

· replace 是將字符串中滿足正則條件的字符串替換掉

· 語(yǔ)法: 字符串.replace(正則,要替換的字符串)

· 返回值 : 替換后的字符串

var reg = /\d{3}/var str = 'hello123world456'var str2 = 'hello'console.log(str.replace(reg)) // hello666world456console.log(str2.replace(reg)) // hellovar reg = /\d{3}/gvar str = 'hello123world456'var str2 = 'hello'console.log(str.replace(reg)) // hello666world666console.log(str2.replace(reg)) // hello

看完上述內(nèi)容,你們掌握J(rèn)avaScript中正則表達(dá)式是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁(yè)題目:JavaScript中正則表達(dá)式是怎樣的
分享鏈接:http://chinadenli.net/article6/ggjjog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管網(wǎng)站設(shè)計(jì)公司外貿(mào)網(wǎng)站建設(shè)域名注冊(cè)網(wǎng)站策劃ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化