15/18ビットの身分証番号を検証する正規表現のまとめ(詳細版)


前言
開発においては、しばしば入力情報の有効性を検証し、正規表現を使って検証するのが最も簡単で効率的な方法です。15/18ビットの身分証番号認証の正規表現を見てみましょう。
紹介する
xxxxxx yyy mm dd 375     18位
xxxxx    yy MM dd   75     十五人
地区:[1-9]\d{5}年前の2位:(18|19|([23]\d))            1800-2399
年後の二人: \d{2}月:((0[1-9])|(10|11|12))日数:(([0-2][1-9])|10|20|30|31)          閏年は29+を禁止してはいけません。
三桁コード:\d{3}二桁コード:\d{2}検証コード:[0-9Xx]正規表現
18位:^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$十五位:^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$合計:
^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$
簡単なJS検証例

function isCardNo(card) 
{ 
//       15   18 ,15      ,18  17    ,        ,        X 
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; 
if(reg.test(card) === false) 
{ 
alert("        "); 
return false; 
} 
} 
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらすことを望んでいます。もし疑問があれば、メッセージを残して交流してください。ありがとうございます。