用php寫十八位身份證的正規表示式該怎麼辦

2022-01-29 10:50:10 字數 3298 閱讀 6764

1樓:創作者

//身份證正規表示式(15位) $isidcard1="/^[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$/"; //身份證正規表示式(18位) $isidcard2="/^[1-9]\d[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$/"; 以上的正規表示式匹配的字元,只能匹配出數字的號碼,現在的身份證好多,最後的都帶有字母,如x, 這個最常見,其他的我不知道有沒有,如果最末尾的是字元的話,上面的匹配內容就不正確了,有哪位知道的正規表示式可以匹配帶字母和不帶字母的通用的表示式,麻煩貼上來,謝謝,如果有其他常用的表示式也一併貼上來,如郵箱,**號碼等這個是修正後的//身份證正規表示式(15位) $isidcard1="/^[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$/"; //身份證正規表示式(18位) $isidcard2="/^[1-9]\d[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d([0-9]|x)$/"; preg_match($isidcard1,身份證號碼, $matches)

2樓:四川旅遊攻略

十八位身份證的號碼最後一位可能是x或數字,所以正規表示式如下:

/\d[\d|x]/

php正規表示式驗證身份證號格式是否正確

3樓:匿名使用者

$pattern = '/[0-9]([0-9]|x)/'; [0-9]代表0-9中的一個數字,[0-9]代表重複17個數字

([0-9]|x)代表一個數字或者x字元,()代表子表示式,| 代表或者

4樓:顧欣怡吖

//身份證正規表示式(15位)

$isidcard1="/^[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$/";

//身份證正規表示式(18位)

$isidcard2="/^[1-9]\d[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$/";

只給出規則,函式自己寫

5樓:匿名使用者

eregi("^[1-9]([0-9a-za-z]|[0-9a-za-z])$",$idcard)

匹配身份證號15位或18位數的正規表示式怎麼寫

6樓:

^\d*$ //匹配一段由0-9組成的字元,如果是一個整數要改成下面這樣,因為一組數不能由0開頭

^-?[1-9]\d*$ //匹配整數

^[1-9]\d*$ //匹配正整數

^-[1-9]\d*$ //匹配負整數

驗證身份證號碼的正確正規表示式

7樓:雪城風嘉

驗證身份證號碼的正確正規表示式 /(^\d$)|(^\d$)|(^\d(\d|x|x)$)/

function iscardno(card)

// 身份證號碼為15位或者18位,15位時全為數字,18位前17位為數字,最後一位是校驗位,可能為數字或字元x

var reg = /(^\d$)|(^\d$)|(^\d(\d|x|x)$)/;

if(reg.test(card) === false)

alert("身份證輸入不合法");

return  false;

}  }

擴充套件資料:

正規表示式的書寫語法

1、^  表示匹配字串的開始位置  (例外  用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字串)

2、$  表示匹配字串的結束位置

3、*  表示匹配 零次到多次

4、+  表示匹配 一次到多次 (至少有一次)

5、?  表示匹配零次或一次

6、.  表示匹配單個字元

7、|  表示為或者,兩項中取一項

8、(  ) 小括號表示匹配括號中全部字元

9、[  ] 中括號表示匹配括號中一個字元 範圍描述 如[0-9 a-z a-z]

10、 大括號用於限定匹配次數  如 表示匹配n個字元  表示至少匹配n個字元  表示至少n,最多m

11、\  轉義字元 如上基本符號匹配都需要轉義字元   如 \*  表示匹配*號

12、\w 表示英文字母和數字  \w  非字母和數字

13、\d  表示數字   \d  非數字

8樓:維灣教育培訓

isidcard1=/^[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$|^[1-9]\d[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d([0-9]|x)$/;

15位到18位的正則

正則只能驗證身份證的格式是否正確,是驗證不了真偽的,只有公安系統裡才能驗證身份證號真假。

9樓:忙中偷閒帶寶寶

你直接把你的身份證號碼輸進去就可以了,直接驗證。

10樓:匿名使用者

var myregexp=/^\d[\d|x]$|^\d$/i;用myregexp就可以驗證輸入的字串是否符合身份證的編碼規則了或者你直接把/^\d[\d|x]$|^\d$/i;放入控制元件的正規表示式屬性裡面就ok了

11樓:

var reg_idcard = /^(^[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$)|(^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d((19\d(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(19\d(0[13578]|1[02])31)|(19\d02(0[1-9]|1\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))((\d)|\d[xx])$)$/;

這個是我網上找了 兩個特別常見的身份證正則(然而都是不全的),然後自己研究了會拼接起來的,我驗證是沒問題的,你們試試看吧!

測試資料:

15位:440253850213582

18位:34040219990909021118位帶x:52242619811105565x

我用中國郵政郵寄的身份證怎麼查詢身份證到哪了

我的身份證號碼是230102196911155651寄到哈爾濱市道里區榆樹鎮後於村,為什麼沒有收到 可以從郵政快遞官網查詢快遞進度,直接在網上搜快遞查詢,輸入快遞單號即可 你要是有快遞單號的話 那就是可以去查詢的,不然就是沒有辦法查詢的 當然了,你也是可以去辦理的地方去查詢看看的 如圖,網上搜 中國...

用別人的身份證能貸款嗎,身份證貸款可以麼?就一個身份證

不可以使用別人貸款,需要借款者本人親自辦理,不能滿足銀行貸款的要求。銀行會驗證借款人身份證和銀行流水外,還需要借款人提供工作證明 收入證明 資產證明 徵信報告等,所以用別人身份證不能辦理貸款。貸款一般需要有穩定的收入 才能辦理,但是也需要看銀行的具體要求,建議可以去正規的貸款機構詳細詢問。銀行貸款提...

用臨時身份證的功能能和正式身份證一樣麼

臨時居民身 份證的功能和正式居民身份證一樣。中華人民共和國臨時居民身份證管理辦法 第三條規定 臨時居民身份證具有證明公民身份的法律效力。臨時身份證的有效期為三個月,在有效期內的法律效力和正式身份證是一致的,可以用於住宿登記 登機的諸方面。由於臨時身份證沒有內建晶片,銀行的讀卡器無法讀出相關個人資訊,...