姓名校验相关

  1. 允许输入中文、英文、数字、全角点字符、半角逗号、半角空格;不允许输入全角空格
let nameRegExp = /^([\u4E00-\u9FA5A-Za-z0-9\uFF0E\,\s](?!\u3000))+$/;
  1. 全角点字符、半角逗号、半角空格在首尾、汉字中间有空格
let nameRegExp1 = /^[\uFF0E\,\s]|[\uFF0E\,\s]$|([^u4E00-u9FA5])(\s)(?=[^u4E00-u9FA5])/gi;
  1. 汉字中间有空格
let nameRegExp2 = /([^u4E00-u9FA5])(\s)(?=[^u4E00-u9FA5])/g;

证件号码校验相关

  1. 全部为相同的数字
let sameNumberRegExp = /^([0-9])\1+$/;
  1. 全部为字母、数字
let allowLetterAndNumberRegExp = /^[A-Za-z0-9]+$/;
  1. 字母或0 在首位
let letterOrZeroInFirstRegExp = /(^[A-Za-z0])/
  1. 港澳通行证
let HKAndMacaoPassRegExp = /^[HMhm]\d{8}$/;
  1. 香港居住证-810开头、字母数字结尾 共18位
let HKResidencePermitRegExp = /(^810)([A-Za-z0-9]{15}$)/;
  1. 澳门居住证-820开头、字母数字结尾 共18位
let MacaoResidencePermitRegExp = /(^820)([A-Za-z0-9]{15}$)/;
  1. 台湾通行证 必须包含数字;字母数字 共8位
let TaiwanPassRegExp = /((?=.*[0-9]))(^[A-Za-z0-9]{8}$)/;
  1. 台湾居住证-830开头、字母数字结尾 共18位(至少包含一个数字规则,与820开头规则重叠)
let TaiwanResidencePermitRegExp = /(^820)([A-Za-z0-9]{15}$)/;
  1. 外国人永久居留身份证-前3位为字母,后12位为数字
let AlienPermanentResidenceIDCardRegExp = /(^[A-Za-z]{3})([0-9]{12}$)/;
  1. 空格不在首尾
let spaceInHeadOrTailRegExp = /(^(?!\s))(.*[^\s]$)/;
  1. 年份1900-9999
let yearRegExp = /(^19[0-9]{2})|([2-9][0-9]{3})/;

测试

// console.log(sameNumberRegExp.test("111111111111111"))
// console.log(allowLetterAndNumberRegExp.test("1111111sss1 1111111"))
// console.log(letterOrZeroInFirstRegExp.test("11111111sss1 1111111"))
// console.log(HKAndMacaoPassRegExp.test("h22222222"))
// console.log(HKResidencePermitRegExp.test("81012345678901234d"))
// console.log(MacaoResidencePermitRegExp.test("82012345678903234d"))
// console.log(TaiwanPassRegExp.test("sss72sss"))
// console.log(AlienPermanentResidenceIDCardRegExp.test("aaa123456789012"))
// console.log(spaceInHeadOrTailRegExp.test("aaa123 45678901"))
// console.log(yearRegExp.test("2002"))
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐