正则可以匹配具体的汉字吗?比如"海",“空”

有一个校验证件号码的需求,但是证件编号前几位是包含数字的,比如“海第03235623”,求解
需求是校验军官证号码,比如“北字第15623652”“兰字第03265248”,而且前面第一个汉字可能是“广,成...”

猛跑小猪
浏览 639回答 1
1回答

慕哥6287543

下面是代码示例,使用了 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') // trueP.test('湖字第03265248') // false
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript