猛跑小豬
2018-12-20 18:15:59
有一個校驗證件號碼的需求,但是證件編號前幾位是包含數字的,比如“海第03235623”,求解需求是校驗軍官證號碼,比如“北字第15623652”“蘭字第03265248”,而且前面第一個漢字可能是“廣,成...”
1 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
下面是代碼示例,使用了 ES6,需要的話自己轉 ES5。
// JavaScript查看一個漢字的Unicode codepoint的方法:
function charcode(s, decimal) {
let x = s.charCodeAt(0)
if (decimal) return x
return '\\u' + x.toString(16)
}
charcode('海') // 6d77,十六進制
charcode('海', true) // 28023,十進制
// 如果你不知道怎么寫手寫正則,可以寫一個函數來輔助:
function patterGen(provinces) {
let list = provinces.split('')
return new RegExp(
`^[${list.map(e => charcode(e) ).join('')}]${charcode('字')}${charcode('第')}\\d+$`
)
}
const P = patterGen('北海蘭京成廣')
P.test('蘭字第03265248') // true
P.test('湖字第03265248') // false
添加回答
舉報
0/150
提交
取消