如題,mysql如何驗證字串中是否包含正確的身份證號碼,
比如“某某身份證號碼*********************”
uj5u.com熱心網友回復:
寫一個布爾函式第一層是正則運算式表示連續17位數字,因為有人最后一位據說是X
第二層前六位有表可查,不過沒表可以跳過
7~10位是年份,一般第一位是1或2,然后11位只能是0或1 ,11位是1的時候12位只能是0 1 2
13位只有是0 1 2 3,如果是3,那么14位只有0或1
二月份可以另外加一個選項,閏年也可以加上
任何一層表達為false就回傳false
uj5u.com熱心網友回復:
網上搜索的身份證號碼由18位數字組成:前6位為行政區劃分代碼,第7位至14位為出生日期碼,第15位至17位為順序碼,第18位為校驗碼。
老居民身份證號碼為15位數字。2000年后,原來7、8位的年份數字改為全稱,并在最后一位增加校驗碼。居民身份證號碼一經編定不作改變,派出所會在戶口資料中給你加上,你要換新身份證時就是18位身份證號碼了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/105067.html
標籤:MySQL
上一篇:aggregate的$project中,將字串轉成isodate格式
下一篇:求一個復雜的sql
