亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 詳解正則表達式之數字驗證

詳解正則表達式之數字驗證

熱門標簽:鄂州人工智能電銷機器人軟件 線上教育ai外呼系統 實用地圖標注app 宿遷智能外呼系統供應商 地圖標注商戶中心要收錢多少 菏澤智能ai電銷機器人銷售公司 地圖標注字母的軟件 400免費電話去哪申請 css百度地圖標注位置顯示

這篇博文將介紹一些常用的數字驗證方法,包括整數驗證、國內電話號碼驗證、身份證號碼驗證、以及IP地址驗證等等驗證方法,如果大家對基本概念不夠了解,可以先看看我之前寫的博文。

第一部分:數值驗證

1.驗證只包含數字、指定長度(N)的字符串

比如我要驗證只包含數字,長度為6的字符串,如123456,則可以使用下面幾種效果相同的驗證方式

復制代碼 代碼如下:

\d{6}
[0-9]{6}
\d\d\d\d\d\d

上述幾種方式效果相同,更推薦第一種,它更加簡潔! 注:后面我都會使用較為簡潔的正則表達式,而不會太過啰嗦!

2.驗證只包含數字、指定范圍長度(N-M)的單詞字符串

比如我要驗證只包含數字,長度在5到8之間的字符串,如12345,123456,1234567,12345678,則可以使用的驗證方式

3.非負整數的驗證

顯然0,100,56等都是非負整數,而-12,0135等都不是非負整數,驗證演示如下:

     

我們可以看到021 -56由于不是正數,不會被選中。(注意:其中用到了^,表示必須以0或者[1-9]開頭,因此-56沒有被選中;如果沒有^,那么-56中的56會被選中)

 4.任意整數的驗證

任意整數即如0,456,-65等等這是任意整數,也就是說我們需要把正數和非負整數結合起來,驗證演示如下:

  

于是所有的正數包括0、正整數和負整數都匹配了。

 5.指定范圍內的正整數的驗證

比如說我們希望驗證1-5678區間內的正整數,如465,23,5677等都屬于這個范圍,這該怎么驗證呢?別著急,我們可以分區間驗證:

  • 使用\b[1-9]\d{0-2}\b來驗證1-999之間的所有正整數
  • 使用\b[1-4]\d{3}\b來驗證1000-4999之間的所有正整數
  • 使用\b5[0-5]\d{2}\b來驗證5000-5599之間的所有正整數
  • 使用\b56[0-6]\d\b來驗證5600-5669之間的所有正整數
  • 使用\b567[0-8]\b來驗證5670-5678之間的所有正整數

綜上所述,我們可以使用如下正則表達式來驗證1-5678之間的所有正整數:

復制代碼 代碼如下:

^([1-9]\d{0,2})|([1-4]\d{3})|(5[0-5]\d{2})|(56[0-6]\d)|(567[0-8])$

但果真是這樣嗎?驗證如下:

  

怎么成這樣了呢???后面的三個數的驗證都不是我們想要的效果啊!!這是因為正則表達式在匹配時會從左向右匹配,其中2602和4999因為使用[1-9]\d{0,2}可以完成匹配,所以就無需繼續了。

我們把正則表達式的順序倒過來試試? 如下所示:

復制代碼 代碼如下:

^(567[0-8])|(56[0-6]\d)|(5[0-5]\d{2})|([1-4]\d{3})|([1-9]\d{0,2})$

效果如下:

 

這次令我們高興的是在1-5678之間的數都被選上了?。〉?89和-5中的5被選上了。這是因為我們只在第一個分組前添加了^,我們需要做的是每個分組前都添加^。如下所示:

復制代碼 代碼如下:

^(567[0-8])|^(56[0-6]\d)|^(5[0-5]\d{2})|^([1-4]\d{3})|^([1-9]\d{0,2})$

這次效果就沒有問題了,如下:

 

由此可知:組合順序原則(正整數):依次從最大值的范圍組合到最小值的范圍組合。

從這個例子受到啟發,我們對于指定范圍內的正整數的驗證的第一個例子中的每一個分組后添加$或\b也可以解決問題。

也就是說下面的兩行代碼均有效:

復制代碼 代碼如下:

^(567[0-8])|^(56[0-6]\d)|^(5[0-5]\d{2})|^([1-4]\d{3})|^([1-9]\d{0,2})$
^([1-9]\d{0,2})$|([1-4]\d{3})$|(5[0-5]\d{2})$|(56[0-6]\d)$|(567[0-8])$

6.實數的驗證

這里要介紹的實數的驗證是至少包含一個小數點的實數,因此實數就包括了整數部分、小數部分和小數點。

 驗證方法如下:

復制代碼 代碼如下:

-?(0|([1-9]\d*))\.\d+

其中-?表示可以有負號也可以沒有負號,(0|[1-9]\d*)表示整數部分可以是0也可以是不以0開頭的其他整數,\.是為了對元字符.進行轉義,\d+表示在小數點后面可以有1個或多個數字重復。所以它可以用來驗證一般形式的實數(如0.0、1.2、-1.20等),還可以用來驗證負0,如-0.0、-0.00等。

如果我們希望驗證指定精度的實數,我們只需要把末尾的+修改成相應的精度即可,如下所示:

復制代碼 代碼如下:

-?(0|([1-9]\d*))\.\d{3}$

即表示小數部分長度為3的實數。

7.科學計數法的驗證

科學計數法就是把一個數記成a*10^n的形式。其中,a是一位整數或著是只有一位整數的小數(如5,3.2等等),所以可知1=|a|10。而n是一位整數。所以不難得出科學計數法的驗證方法如下所示:

復制代碼 代碼如下:

^-?[1-9](\.\d+)?\*10\^-?\d+$

第二部分:4種國內電話號碼的驗證

我們知道中國的電話號碼的形式不外乎有下面四種:

1.手機號碼

2.固定電話號碼(不包括區號)

3.區號+固定電話號碼

4.區號+固定電話號碼+分機號

下面我們按照順序逐一介紹

1.手機號碼

目前國內的手機號碼多是13開頭、15開頭和18開頭,并且第三位數字目前都有【0-9】這10個數,所以驗證起來就很簡單了。如下所示:

     

顯然第二種方法更簡單一些。

 2.固定電話號碼(不包括區號)

固定電話號碼一般為7位(如2268358)或8位(82668110),所以驗證起來是非常簡單的,如下所示:

 

但是,某個地區的電話號碼往往是固定在一個具體的范圍里的,比如新疆石河子某個地區為2268001-2268999,這時想要確定就需要稍微花一些功夫了。

我們可以把2268001-2268999劃分為2268001-2268009和2268010-2268099和2268100-2268999。這樣,把驗證三者的正則表達式組合起來即可。如下所示:

復制代碼 代碼如下:

2268((00[1-9])|(0[1-9]\d)|([1-9]\d{2}))

效果如下:

 

PS 這里就不具體介紹啦,都是很簡單的知識,如果有疑問可以看我的上一篇博文,它對基本知識闡述得很具體。

3.區號+固定電話號碼驗證

區號的長度一般為3-4位,固定電話號碼的長度一般為7-8位,比如029-82668110為3位區號和8位固定電話號碼的組合,0993-2268358是4位區號和7位固定號碼的組合。且在區號和固定號碼之間一般都是由-(連字符)鏈接的。可知,我們只需要對區號和固定電話分別驗證即可?! ?/p>

復制代碼 代碼如下:

\b0\d{2,3}[- ]?\d{7,8}\b

演示效果如下:

 

4.區號+固定電話號碼驗證+分機號碼驗證

一些比較大的公司、企業或者政府部門在向外部提供固定的電話號碼是,除了區號、固定電話號碼之外,還可能包括分機號碼。

下面我們以4位的分級號碼為例。一般在分機號碼之前可能是空格,也可能是-(連字符),還可能什么都沒有。 于是驗證方法如下:

復制代碼 代碼如下:

\b0\d{2,3}[- ]?\d{7,8}[- ]?\d{4}\b

演示效果如下:

    

第三部分:2種身份證號碼的驗證

1.基本知識

15位身份證號碼:

1985年我國實行居民身份證制度,當時簽發的身份證號碼是15位的。其中前6位為地址碼,中間6位為出生日期碼(年月日各用兩位數字表示),最后三位為順序碼。

(注:順序碼是對同年、同月、同日出生的人編訂序號,順序碼的奇數分配給男性,偶數分配給女性)

18位身份證號碼:

1999年我國開始使用18位的身份證號。其中前6位為地址碼,中間8位為出生日期碼(年用4位表示,月日各用2位表示),最后四位為順序碼和校驗碼。

(注:年份用4位是因為使用2位會導致沖突,比如1903年和2003年出生的人。而校驗碼主要是為了校驗計算機輸入公民身份證號碼的前17位數字是否正確,其取值范圍是0至10,當值等于10時,用X表示)

 2. 15位身份證號碼的驗證

前6位地址碼可以為任意數字,78位的年份碼為任意數字,9和10位的月份碼應當在01-12之間,11和12位的日期碼在01-31之間,最后三位的順序碼為長度為3的任意字符串。于是驗證方法如下:

復制代碼 代碼如下:

\b\d{8}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}\b

 3. 18位身份證號碼的驗證

前6位地址碼為任意數字,7-10位的年份碼前兩位以19或20開頭(這里就不考慮18開頭了),月日同15位的身份證號碼,三位順序碼為長度為3的任意字符串,最后以為驗證碼為0-9或X。于是驗證方法如下:

\b\d{6}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)\b

因為只要知道了思路,正則表達式寫出來并不難,所以這里就不細講了。

 第四部分:郵政編碼驗證

我國郵政編碼的編碼規則:我國采用四級六位編碼制,前兩位表示省、市、自治區,第三位代表郵區,第四位代表縣、市,最后兩位代表投遞郵局,最后兩位是代表從這個城市哪個投遞區投遞的,即投遞區的位置。例如:郵政編碼“130021”“13”代表吉林省,“00”代表省會長春,“21”代表所在投遞區。

因此驗證我國的郵政編碼就十分方便了,如下所示:

     

第五部分:兩種IP地址的驗證

IP地址可以簡單驗證,還可以精確驗證。

1.簡單IP地址驗證

我首先ping到了https://www.jb51.net/的IP地址:42.121.252.58。 實際上IP地址一般是1~3位整數.1~3位整數.1~3位整數.1~3位整數,于是我們可以通過下面的正則表達式作簡單驗證:

([1-9]\d{0,2}\.){3}[1-9]\d{0,2}

驗證效果如下所示:

 

2.精確IP地址驗證

顯然,上面的簡單IP地址驗證是不精確的,比如999.999.999.999這就不是一個正確的IP地址。

我們知道32位IP地址的每一個數值都是在0~255之間,所以對于1~3位整數.1~3位整數.1~3位整數.1~3位整數我們應該將整數限制在0~255之間,顯然,這里要使用分區間的方法了。

0-99之間可以這樣表示:([1-9]\d?)|0              (注意這里的表示方法,如果這個數不為0,那么前面就不能有0)

100-199之間可以這樣表示:1\d{2}

200-249之間可以這樣表示:2[0-4]\d

250-255之間可以這樣表示: 25[0-5]

于是綜上所述,可以得到精確IP地址驗證的方法如下:

復制代碼 代碼如下:

(((25[0-5])|2[0-4]\d|1\d{2}|[1-9]\d|0)\.){3}((25[0-5])|2[0-4]\d|1\d{2}|[1-9]\d|0)

演示效果如下:

 

值得注意的是:分組是至關重要的,只有分對了組,才有可能不出問題。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 常見的數字驗證正則表達式整理
  • JS正則表達式驗證數字代碼
  • 最全的常用正則表達式大全——包括校驗數字、字符、一些特殊的需求等
  • java正則表達式提取數字的方法實例
  • js限制文本框只能輸入數字(正則表達式)
  • js正則表達式匹配數字字母下劃線等
  • JavaScript基于正則表達式的數字判斷函數
  • 校驗普通電話、傳真號碼的正則表達式(可以+開頭,除數字外,可含有-)
  • Java正則表達式過濾出字母、數字和中文
  • 匹配5到10位無重復數字的正則表達式
  • 利用正則表達式(只錄入中文,數字,英文)
  • asp正則表達式匹配數字$數字$數字$

標簽:咸陽 恩施 鞍山 三亞 六安 梅州 池州 綿陽

巨人網絡通訊聲明:本文標題《詳解正則表達式之數字驗證》,本文關鍵詞  詳解,正則,表達式,之,數字,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解正則表達式之數字驗證》相關的同類信息!
  • 本頁收集關于詳解正則表達式之數字驗證的相關信息資訊供網民參考!
  • 推薦文章
    精品久久久久久中文字幕一区| 九九久久国产精品大片| 国产美女在线观看| 国产麻豆精品免费密入口| 黄视频网站在线观看| 99热热久久| 国产极品精频在线观看| 黄视频网站在线免费观看| 欧美爱爱动态| 久久精品欧美一区二区| 国产伦久视频免费观看视频| 久久国产精品自线拍免费| 一级毛片视频免费| 精品国产一区二区三区久久久蜜臀| 91麻豆爱豆果冻天美星空| 欧美电影免费看大全| 日本伦理黄色大片在线观看网站| 国产一区二区福利久久| 精品国产一区二区三区免费| 美国一区二区三区| 国产网站免费观看| 九九久久国产精品大片| 日本免费区| 日韩专区第一页| 四虎影视库| 日本免费乱理伦片在线观看2018| 韩国毛片| 国产视频一区二区在线观看| 精品国产一区二区三区精东影业| 欧美激情一区二区三区在线| 国产网站免费观看| 国产原创中文字幕| 久草免费资源| 天堂网中文在线| a级毛片免费观看网站| 日韩女人做爰大片| 沈樵在线观看福利| 精品久久久久久中文| 国产原创视频在线| 黄色免费三级| 韩国三级视频网站| 欧美国产日韩在线| 香蕉视频久久| 精品视频在线观看一区二区三区| 日本伦理片网站| 91麻豆精品国产自产在线 | 欧美另类videosbestsex高清| 久久精品成人一区二区三区| 亚欧成人乱码一区二区| 欧美国产日韩久久久| 精品国产亚洲人成在线| 国产伦久视频免费观看视频| 黄色免费三级| 久久精品店| 亚飞与亚基在线观看| 九九精品在线播放| 九九九在线视频| 亚洲天堂免费| 成人在激情在线视频| 青青久热| 久久99中文字幕久久| 国产视频一区在线| 亚洲 欧美 成人日韩| 天堂网中文在线| 日本伦理片网站| 精品国产一区二区三区国产馆| 久久精品道一区二区三区| 国产不卡在线观看视频| 国产视频一区二区三区四区| 精品美女| 成人影视在线播放| 99色视频在线| 国产精品1024在线永久免费 | a级精品九九九大片免费看| 毛片高清| 午夜欧美成人香蕉剧场| 日本在线www| 亚洲精品影院久久久久久| 日韩字幕在线| 日韩免费在线视频| 亚洲wwwwww| 国产精品自拍亚洲| 精品视频在线观看免费 | 色综合久久久久综合体桃花网| 欧美一区二区三区在线观看| 可以免费看污视频的网站| 你懂的日韩| 国产亚洲精品成人a在线| 久久久久久久免费视频| 99热视热频这里只有精品| 亚洲女初尝黑人巨高清在线观看| 亚欧视频在线| 午夜欧美成人久久久久久| 日韩男人天堂| 国产91丝袜在线播放0| 日韩中文字幕在线播放| 久久精品免视看国产明星 | 二级片在线观看| 一级女性全黄生活片免费| 亚洲精品久久玖玖玖玖| 欧美激情在线精品video| 日韩女人做爰大片| 午夜激情视频在线播放| 天天色成人| 国产美女在线观看| 精品视频在线看| 国产伦精品一区二区三区在线观看 | 精品国产一级毛片| 国产a一级| 日韩综合| 国产网站在线| 青青久久精品国产免费看| 久久99中文字幕久久| 国产精品免费久久| 亚欧视频在线| 亚洲wwwwww| 国产一区二区福利久久| 青青久久精品国产免费看| 国产伦精品一区二区三区无广告| 国产原创视频在线| 九九精品在线播放| 精品毛片视频| 超级乱淫伦动漫| 日韩中文字幕在线播放| 精品视频免费观看| 精品在线免费播放| 精品国产香蕉在线播出| 一级毛片视频在线观看| 99久久精品国产免费| 国产91丝袜在线播放0| 国产一区免费观看| 国产极品精频在线观看| 国产网站在线| 精品国产一区二区三区久久久狼| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品在线观看一区| 国产91丝袜高跟系列| 黄视频网站免费看| a级毛片免费观看网站| 免费国产在线观看| 国产伦精品一区三区视频| 午夜在线亚洲男人午在线| 九九精品在线播放| 一本高清在线| 九九免费高清在线观看视频| 可以在线看黄的网站| 日韩av东京社区男人的天堂| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产不卡在线观看视频| 精品国产一区二区三区久久久蜜臀 | 亚洲精品中文一区不卡| 国产不卡高清| 午夜欧美成人香蕉剧场| 成人在激情在线视频| 久久国产精品永久免费网站| 午夜家庭影院| 黄视频网站在线观看| 免费一级生活片| 精品久久久久久中文字幕2017| 日韩欧美一二三区| 国产精品自拍亚洲| 一级片片| 九九干| 999久久66久6只有精品| 国产福利免费观看| 青青久久国产成人免费网站| 日韩在线观看视频黄| 亚洲第一视频在线播放| 91麻豆tv| 二级片在线观看| a级黄色毛片免费播放视频| 免费国产在线观看不卡| 国产成a人片在线观看视频 | 欧美激情影院| 国产一区二区高清视频| 亚洲天堂免费| 欧美a级片视频| 久久99中文字幕| 国产激情一区二区三区| 色综合久久天天综合| 四虎久久影院| 久久久久久久免费视频| 成人免费观看的视频黄页| 欧美a级片免费看| 国产一区二区福利久久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 91麻豆精品国产综合久久久| 欧美激情一区二区三区视频 | 精品美女| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 美女免费毛片| 精品毛片视频| 麻豆系列 在线视频| 精品国产一区二区三区国产馆| 91麻豆精品国产综合久久久| 亚洲精品影院一区二区| 欧美一区二区三区性| 日日夜夜婷婷| 亚飞与亚基在线观看| 成人影院久久久久久影院|