婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

熱門標簽:鄂州人工智能電銷機器人軟件 線上教育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之間的數都被選上了!!但789和-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位固定號碼的組合。且在區號和固定號碼之間一般都是由-(連字符)鏈接的。可知,我們只需要對區號和固定電話分別驗證即可。  

復制代碼 代碼如下:

\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正則表達式匹配數字$數字$數字$

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

巨人網絡通訊聲明:本文標題《詳解正則表達式之數字驗證》,本文關鍵詞  詳解,正則,表達式,之,數字,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解正則表達式之數字驗證》相關的同類信息!
  • 本頁收集關于詳解正則表達式之數字驗證的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本不卡一区二区三区高清视频| 欧美日韩的一区二区| 成人福利视频在线| 日韩亚洲国产中文字幕欧美| 伊人一区二区三区| 91欧美一区二区| 亚洲欧洲99久久| 成人av电影在线观看| 国产区在线观看成人精品| 国产在线视频一区二区| 久久免费看少妇高潮| 国产麻豆成人传媒免费观看| 久久女同性恋中文字幕| 国产成人免费视频精品含羞草妖精 | 欧美精品一区二区不卡| 国产精品99久久久久久宅男| 国产精品久久久久久妇女6080| 波多野结衣精品在线| 亚洲一区在线视频| 欧美精选一区二区| 狠狠色综合播放一区二区| 国产精品色噜噜| 欧美三级中文字| 精品一区二区在线观看| 欧美高清在线一区| 欧美日韩一区二区在线观看视频| 国产精品亚洲专一区二区三区| 亚洲国产高清在线观看视频| 欧美日韩精品三区| 国产精品中文有码| 亚洲电影在线播放| 久久亚区不卡日本| 成人动漫中文字幕| 国产精品电影一区二区| 91国偷自产一区二区三区成为亚洲经典 | 午夜久久久影院| 欧美成人a在线| 97久久超碰国产精品电影| 美女视频一区在线观看| 国产欧美日韩在线看| 欧美片在线播放| 国产精品中文有码| 日韩福利电影在线观看| 亚洲私人影院在线观看| 色综合天天视频在线观看 | 欧美日韩国产区一| 国产精品一二三| 婷婷中文字幕一区三区| 国产精品美女一区二区| 日韩三级精品电影久久久 | 久久精品国产久精国产爱| 亚洲乱码中文字幕| 26uuu亚洲| 精品国产一区二区三区不卡| 欧美天堂一区二区三区| 91蝌蚪porny| 欧美午夜理伦三级在线观看| 国产丝袜美腿一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 亚洲欧美在线另类| 精品日本一线二线三线不卡| 欧美影院一区二区三区| aa级大片欧美| 成人美女视频在线看| 国产综合久久久久久鬼色| 首页国产丝袜综合| 亚洲综合无码一区二区| 亚洲欧美日韩国产中文在线| 亚洲成人av电影在线| 日韩精品影音先锋| 色欧美乱欧美15图片| 成人妖精视频yjsp地址| 国产丶欧美丶日本不卡视频| 久久66热偷产精品| 紧缚捆绑精品一区二区| 伦理电影国产精品| 久久国产精品免费| 国产一区二区三区免费播放 | 国内成+人亚洲+欧美+综合在线| 人妖欧美一区二区| 日韩电影在线观看网站| 首页国产欧美日韩丝袜| 久久国内精品自在自线400部| 国产精品一色哟哟哟| 久久国产精品无码网站| 国产成人亚洲综合a∨婷婷图片| 国产成人精品影视| 91看片淫黄大片一级在线观看| 欧美日韩在线免费视频| 精品一区免费av| 国产精品99久久久| 国产日韩欧美精品电影三级在线| 成人性色生活片免费看爆迷你毛片| 亚洲国产一区二区a毛片| 亚洲成av人影院在线观看网| 午夜天堂影视香蕉久久| 蜜桃视频在线一区| 高清国产一区二区| 亚洲欧美另类综合偷拍| 日韩欧美二区三区| 久久综合久色欧美综合狠狠| 亚洲国产精品高清| 亚洲黄色小视频| 蜜臀精品久久久久久蜜臀| 久久精品国产久精国产| 日本久久电影网| 日韩欧美成人一区| 综合在线观看色| 九九在线精品视频| 色综合久久久网| 日韩亚洲电影在线| 亚洲女子a中天字幕| 九一九一国产精品| 在线观看视频91| 亚洲国产岛国毛片在线| 亚洲电影一级片| 国产成人精品aa毛片| 欧美日韩五月天| 国产精品国产三级国产专播品爱网| 亚洲黄色性网站| 中文字幕日韩一区| 视频在线在亚洲| 国产98色在线|日韩| 欧美一卡二卡三卡| 一色桃子久久精品亚洲| 亚洲精品高清在线| 激情欧美一区二区三区在线观看| 99国产精品国产精品久久| 精品国产乱码久久久久久影片| 日韩欧美www| 成人欧美一区二区三区白人| 国产美女久久久久| 在线播放91灌醉迷j高跟美女 | 欧美剧情电影在线观看完整版免费励志电影 | 不卡的av中国片| 久久亚洲春色中文字幕久久久| 日本在线不卡视频一二三区| 91国偷自产一区二区三区成为亚洲经典| 久久亚洲一区二区三区明星换脸| 天天av天天翘天天综合网| 97久久精品人人做人人爽| 亚洲国产精品av| 色综合久久中文字幕综合网| 欧美激情一区在线观看| 国产精品系列在线播放| 国产亚洲一本大道中文在线| 老司机午夜精品| 精品免费日韩av| 亚洲国产中文字幕在线视频综合| 成人动漫一区二区| 久久―日本道色综合久久| 久久99精品一区二区三区| 日韩亚洲欧美综合| 日本欧美大码aⅴ在线播放| 欧美人xxxx| 精品一区二区三区在线播放视频| 精品国产免费视频| 成人手机在线视频| 一区二区三区在线观看国产| 在线一区二区三区做爰视频网站| 亚洲亚洲精品在线观看| 欧美精品 国产精品| 韩国理伦片一区二区三区在线播放| 久久综合国产精品| av一二三不卡影片| 亚洲一区电影777| 欧美日韩夫妻久久| 美女视频一区二区| 久久综合国产精品| 国产剧情一区二区三区| 国产精品伦理在线| 欧美另类久久久品| 国产成人精品一区二区三区四区 | 欧美日韩国产三级| 久久成人免费网| 亚洲丝袜精品丝袜在线| 欧美日韩不卡视频| 国产精品综合久久| 亚洲444eee在线观看| 国产清纯在线一区二区www| 91精品国产91久久综合桃花| 精品亚洲成a人| 亚洲精品精品亚洲| 精品久久人人做人人爱| 91网站最新网址| 亚洲激情图片qvod| 国产精品乱人伦中文| 91丨porny丨户外露出| 偷拍亚洲欧洲综合| 亚洲国产高清在线| 日韩欧美一区中文| 日本精品免费观看高清观看| 日韩av电影免费观看高清完整版 | 青青草97国产精品免费观看 | 91精品国产欧美一区二区18| 99综合电影在线视频| 韩国精品在线观看| 老司机精品视频在线| 午夜电影一区二区三区| 麻豆精品一区二区三区|