成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript中登錄名的正則表達(dá)式及解析(0基礎(chǔ))

JeOam / 395人閱讀

摘要:簡(jiǎn)言在中,經(jīng)常會(huì)用到正則表達(dá)式來進(jìn)行模式匹配。要寫出正確的正則表達(dá)式,先要定義表達(dá)式規(guī)則。重復(fù)在正則表達(dá)式中用來表示元素重復(fù)出現(xiàn)的次數(shù)。給出測(cè)試結(jié)果如下毛三胖子測(cè)試代碼根據(jù)以上內(nèi)容,定義你自己的登錄名正則表達(dá)式吧原文鏈接

簡(jiǎn)言

在JavaScript中,經(jīng)常會(huì)用到正則表達(dá)式來進(jìn)行模式匹配。例如,登錄名驗(yàn)證,密碼強(qiáng)度驗(yàn)證,字符串查找或替換等操作。現(xiàn)在就開始吧,零基礎(chǔ)寫出你的第一個(gè)正則表達(dá)式!

在做用戶注冊(cè)時(shí),都會(huì)用到登錄名正則校驗(yàn)。要寫出正確的正則表達(dá)式,先要定義表達(dá)式規(guī)則。假設(shè)登錄名做如下規(guī)則定義:

最短4位,最長(zhǎng)16位 {4,16}

可以包含小寫大母 [a-z] 和大寫字母 [A-Z]

可以包含數(shù)字 [0-9]

可以包含下劃線 [ _ ] 和減號(hào) [ - ]

根據(jù)以上規(guī)則,很容易給出正則表達(dá)式的字面量如下:

var pattern = /^[a-zA-Z0-9_-]{4,16}$/
測(cè)試

測(cè)試結(jié)果如下:

var pattern = /^[a-zA-Z0-9_-]{4,16}$/;
pattern.test("ifat3") = true
pattern.test("42du") = true
pattern.test("42du-_") = true
pattern.test("_42du") = true
pattern.test("42d") = false
pattern.test("42du42du42du42du1") = false
pattern.test("42du@") = false

測(cè)試代碼

解析 字面量 / /

正則表達(dá)式的字面量定義為包含在一對(duì)斜杠(/)之間的字符,例如:

var pattern = /s$/;

上述字面量匹配所有以字母“s”結(jié)尾的字符串。

字符類 [ ]

將字符放進(jìn)方括號(hào)內(nèi)就組成了字符類。一個(gè)字符類可以匹配它所包含的任意字符。因此,正則表達(dá)式/[abc]/就和字母“a”,“b”,“c”中的任意一個(gè)都匹配。

字符類可以使用連字符來表示字符范圍。要匹配拉丁小寫字母可以使用/[a-z]/

[a-zA-Z0-9_-]表示匹配任意的拉丁大小寫字母,數(shù)字再加上下劃線和減號(hào)。

重復(fù) {}

在正則表達(dá)式中用{ }來表示元素重復(fù)出現(xiàn)的次數(shù)。

{n,m} 匹配前一項(xiàng)至少n次,但不能超過m次

{n,} 匹配前一項(xiàng)n次或更多次

{n} 匹配前一項(xiàng)n次

[a-zA-Z0-9_-]{4,16} 表示匹配任意的拉丁大小寫字母,數(shù)字再加上下劃線和減號(hào)出現(xiàn)最少4次,最多16次。

匹配位置

^ 匹配字符串的開頭,在多行檢索中,匹配一行的開頭

$ 匹配字符串的結(jié)尾,在多行檢索中,匹配一行的結(jié)尾

延伸1

根據(jù)以上說明,你一定理解了上述正則表達(dá)式所表達(dá)的含義,是不是很簡(jiǎn)單!

假設(shè)你對(duì)上述規(guī)則不滿意,想增加一條規(guī)則,如下:

首字母只能是大小寫字母

很容易變更上述正則表達(dá)式如下:

var pattern = /^[a-zA-Z][a-zA-Z0-9_-]{3,15}$/;

給出測(cè)試結(jié)果如下:

var pattern = /^a-zA-Z{3,15}$/;
pattern.test("ifat3") = true
pattern.test("Ifat3") = true
pattern.test("du42") = true
pattern.test("42du") = false
pattern.test("d42") = false
pattern.test("du42du42du42du421") = false
pattern.test("du42@") = false

測(cè)試代碼

延伸2

如果允許中文的登錄名,變更規(guī)則,如下:

首字母只能是大小寫字母或中文基本漢字

其它位也可以包含中文基本漢字

給出如下正則表達(dá)式:

var pattern = /^[a-zA-Zu4E00-u9FA5][a-zA-Z0-9u4E00-u9FA5_-]{3,15}$/;

其中[u4E00-u9FA5]是漢字的正則匹配,包括基本漢字2萬多個(gè),其中u4E00表示漢字“一”,具體請(qǐng)參見“漢字unicode編碼范圍”。

給出測(cè)試結(jié)果如下:

var pattern = /^a-zA-Zu4E00-u9FA5{3,15}$/;
pattern.test("ifat3") = true
pattern.test("Ifat3") = true
pattern.test("毛三胖子") = true
pattern.test("42du") = false
pattern.test("d42") = false
pattern.test("du42du42du42du421") = false
pattern.test("du42@") = false

測(cè)試代碼

根據(jù)以上內(nèi)容,定義你自己的登錄名正則表達(dá)式吧!

原文鏈接

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93274.html

相關(guān)文章

  • 【Amaple教程】3. 模板指令與狀態(tài)數(shù)據(jù)(state)

    摘要:指令在上使用元素沒有設(shè)置屬性時(shí),自動(dòng)設(shè)置綁定的狀態(tài)屬性名為屬性。 一個(gè)模塊的template模板、JavaScript和css之間的關(guān)系其實(shí)可以如下圖表示:showImg(https://segmentfault.com/img/bV2ht2?w=413&h=337); 如果你了解Angular、Vue動(dòng)態(tài)模板,那你將會(huì)對(duì)Amaple的模板感到很熟悉,在Amaple中,template...

    2shou 評(píng)論0 收藏0
  • 【Amaple教程】3. 模板指令與狀態(tài)數(shù)據(jù)(state)

    摘要:指令在上使用元素沒有設(shè)置屬性時(shí),自動(dòng)設(shè)置綁定的狀態(tài)屬性名為屬性。 一個(gè)模塊的template模板、JavaScript和css之間的關(guān)系其實(shí)可以如下圖表示:showImg(https://segmentfault.com/img/bV2ht2?w=413&h=337); 如果你了解Angular、Vue動(dòng)態(tài)模板,那你將會(huì)對(duì)Amaple的模板感到很熟悉,在Amaple中,template...

    eccozhou 評(píng)論0 收藏0
  • 【Amaple教程】3. 模板指令與狀態(tài)數(shù)據(jù)(state)

    摘要:指令在上使用元素沒有設(shè)置屬性時(shí),自動(dòng)設(shè)置綁定的狀態(tài)屬性名為屬性。 一個(gè)模塊的template模板、JavaScript和css之間的關(guān)系其實(shí)可以如下圖表示:showImg(https://segmentfault.com/img/bV2ht2?w=413&h=337); 如果你了解Angular、Vue動(dòng)態(tài)模板,那你將會(huì)對(duì)Amaple的模板感到很熟悉,在Amaple中,template...

    xiao7cn 評(píng)論0 收藏0
  • 爬蟲 - 收藏集 - 掘金

    摘要:在這之前,還是有必要對(duì)一些概念超輕量級(jí)反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標(biāo)配系統(tǒng)。 爬蟲修煉之道——從網(wǎng)頁(yè)中提取結(jié)構(gòu)化數(shù)據(jù)并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關(guān)注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個(gè)爬取多頁(yè)面的網(wǎng)絡(luò)爬蟲主要講解了如何使用python編寫一個(gè)可以下載多頁(yè)面的爬蟲,如何將相對(duì)URL轉(zhuǎn)為絕對(duì)URL,如何限速,...

    1fe1se 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<