js正则表达式校验

记录一下目前项目中运用到的js校验

1、非法字符串(像标题,昵称中使用)

		let regEn = /[`!@#$%^&*()_+<>?:"{},.\/;'[\]]+/g,
          regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]+/g;
        if (regEn.test(value) || regCn.test(value)) {
          return callback(new Error("存在非法字符串"));
        } else {
          callback();
        }

2、邮箱校验

		let result = value.match(
          /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.l-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/
        );
        if (result == null) {
          return callback(new Error("请输入正确的邮箱地址"));
        } else {
          callback();
        }

3、手机号

var result = this.tel.match(/(^1[3|4|5|6|7|8|9]\d{9}$)|(^09\d{8}$)/);
//^09\d{8}$表示台湾号码

4、身份证号码(中国大陆)

 		let reglength = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        let reg =
          /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
        if (reglength.test(value) && reg.test(value)) {
          // callback('身份证');
          callback();
        }  
        else {
          callback(new Error("请输入正确的证件号码"));
        }

5、港澳台护照或通行证

参考资料:按照ICAO要求,全世界护照的号码均为9位拉丁字母或阿拉伯数字。
中国居民身份证、通行证(含香港、澳门、台湾)资料整理,含编码规则

//护照
let reg2=/(^[EeGgHhKkSsDdPp]\d{8}$)|(^((1[45])|([SsDdPp][Ee])|([HhKk][Jj])|([Mm][AaBb])|([Ee][A-Za-z]))\d{7}$)/
//通行证
let reg3=/(^[HhMm]\d{10}$)|(^[LlTtCc]\d{8}$)|(^[Cc][A-Za-z]\d{7}$)|(^8[123]0{4}\d{12}$)/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值