vue、JavaScript 常用正则表达式校验

正则表达式在线测试 | 菜鸟工具

Regexper

正则表达式可视化工具 | 菜鸟工具

  1. 开户银行:
     /^[\u4e00-\u9fa5.·\u36c3\u4DAE]{2,}$/
  2. 银行账户: 
    /^[0-9\-]*$/
  3. 税率(100以内(2位小数)):
    /^(([1-9]?\d(\.\d{1,2})?)|100|100\.0{1,2})$/
  4. 金额区间 [1,10/#) :
     /[\[\(][\d+\.]+, ?[\d\.\#]+[\]\)]/
  5. 16位数字: 
      /^[0-9]\d{15}$/
  6. 手机号码:
     /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
  7. url: 
     /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
  8. 小写:
    /^[a-z]+$/
  9. 大写:
     /^[A-Z]+$/
  10. 大小写字母: 
    /^[A-Za-z]+$/
  11. Email:  
    /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    
  12. 校验多个电子邮箱,以分号分隔,不区分中英分号:
    // 校验多个电子邮箱,以分号分隔,不区分中英分号
    const validFormEmail = (rule, value, callback) => {
    // this.form.email 表单内的email字段,即要校验的字段
      if ([';', ';'].includes(value.substr(0, 1))) this.form.email = value?.substr(1)
      const emailArr = value?.trim()?.split(/[;|;]/)
      const emailReg = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)])$/
      let isEmailValid = true
      emailArr.map(item => {
        if (!emailReg.test(item)) isEmailValid = false
      })
      if (/[;|;]$/.test(value)) {
        callback(new Error('请不要以分号结尾'))
      } else if (emailArr?.length > 6) {
        callback(new Error('电子邮箱最多可输入6个'))
      } else if (!isEmailValid) {
        callback(new Error('请检查是否所有邮箱地址均正确'))
      } else {
        callback()
      }
    }
  13. 金额(可正可负 最多两位小数):
     /(^(([1-9]+\d*)|(0{1}))(\.\d{1,2})?$)|(^-([1-9]+\d*(\.\d{1,2})?|0\.(0[1-9]{1}|[1-9]{1}\d?))$)/
  14. 金额(0或负数 最多两位小数):
     /(^\-[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^0\.0(0)?$)|(^\-[0-9]\.[0-9]([0-9])?$)/
  15. 金额(0或正数 最多两位小数):
     /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
  16. 百分数:
     /^(\d|[1-9]\d|100)(\.\d{1,2})?%$/
  17.  验证密码:
     /^([a-zA-Z0-9\.\@\!\#\$\%\^\&\*\(\)]){6,16}$/
  18. 身份证15位和18位:
     /^[1-9]{1}[0-9]{14}$|^[1-9]{1}[0-9]{16}([0-9]|[xX])$/
  19. 只能输入16位或20位数字:

    /^(\d{20,20}|\d{16,16})$/
  20. 小数点前最多11位数字,小数点后最多2位数字:(封装方法:正则表达式—JS数字校验:限制小数点前、后位数_正则限制小数点位数_金乌Y的博客-CSDN博客

    /^[-]{0,1}(([1-9]{1}[0-9]{0,10})|([0]{1}))((\.{1}[0-9]{1,2}$)|$)/
  21. 名字检测:
     /^[\u4e00-\u9fa50-9a-zA-Z]{1,20}$/
  22. 不能输入中文:
     /^[^\u4e00-\u9fa5\s]*$/
  23. 只能输入数字和小数点:
     /^[0-9]+([.]{1}[0-9]+){0,1}$/
  24. 只能输入数字:
      /^\d+$/
  25. 字母、数字、下划线:
     /^\w+$/
  26. 以字母开头,数字,英文,下划线和短横线6-20位: 
    /^[a-zA-Z]([-_a-zA-Z0-9]{6,20})$/
  27. 只能输入英文,数字,下划线,横线:
     /^[5A-Za-z0-9-\_]+$/
  28. 身份证校验(简): 
    /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
  29. 身份证校验:(引用:身份证号码的正则表达式及验证详解(JavaScript,Regex) - 知乎
    
    // 省级地址码校验
    // 华北:北京11,天津12,河北13,山西14,内蒙古15
    // 东北: 辽宁21,吉林22,黑龙江23
    // 华东: 上海31,江苏32,浙江33,安徽34,福建35,江西36,山东37
    // 华中: 河南41,湖北42,湖南43
    // 华南: 广东44,广西45,海南46
    // 西南: 四川51,贵州52,云南53,西藏54,重庆50
    // 西北: 陕西61,甘肃62,青海63,宁夏64,新疆65
    // 特别:台湾71,香港81,澳门82
    // 根据上述地址码做身份证号码的前两位校验,进一步的提高准确率。当前的地址码以2013版的行政区划代码【GB/T2260】为标准。
    
    var checkProv = function (val) {
        var pattern = /^[1-9][0-9]/;
        var provs = {11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门"};
        if(pattern.test(val)) {
            if(provs[val]) {
                return true;
            }
        }
        return false;
    }
    
    //输出 true,37是山东
    console.log(checkProv(37));
    //输出 false,16不存在
    console.log(checkProv(16));
    
    // 出生日期码校验
    
    var checkDate = function (val) {
        var pattern = /^(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)$/;
        if(pattern.test(val)) {
            var year = val.substring(0, 4);
            var month = val.substring(4, 6);
            var date = val.substring(6, 8);
            var date2 = new Date(year+"-"+month+"-"+date);
            if(date2 && date2.getMonth() == (parseInt(month) - 1)) {
                return true;
            }
        }
        return false;
    }
    //输出 true
    console.log(checkDate("20180212"));
    //输出 false 2月没有31日
    console.log(checkDate("20180231"));
    
    // 校验码校验
    
    var checkCode = function (val) {
        var p = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
        var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
        var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
        var code = val.substring(17);
        if(p.test(val)) {
            var sum = 0;
            for(var i=0;i<17;i++) {
                sum += val[i]*factor[i];
            }
            if(parity[sum % 11] == code.toUpperCase()) {
                return true;
            }
        }
        return false;
    }
    
    // 输出 true, 校验码相符
    console.log(checkCode("11010519491231002X"));
    // 输出 false, 校验码不符
    console.log(checkCode("110105194912310021"));
    
    // 整体代码校验
    
    var checkID = function (val) {
        if(checkCode(val)) {
            var date = val.substring(6,14);
            if(checkDate(date)) {
                if(checkProv(val.substring(0,2))) {
                    return true;
                }
            }
        }
        return false;
    }
    //输出 true
    console.log(checkID("11010519491231002X"));
    //输出 false,校验码不符
    console.log(checkID("110105194912310021"));
    //输出 false,日期码不符
    console.log(checkID("110105194902310026"));
    //输出 false,地区码不符
    console.log(checkID("160105194912310029"));
  30. 待增加......
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue正则表达式校验可以用于验证不同格式的数据,比如身份证号和邮箱。以下是一些常见的正则表达式校验方法: 1. 身份证号正则: `/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/`。这个正则表达式可以用于验证身份证号码是否符合规定的格式。 2. 邮箱正则: `/^[A-Za-z\d]([-_.][A-Za-z\d])*@([A-Za-z\d][-]){1,2}[A-Za-z\d]{2,5}$/g`。这个正则表达式可以用于验证邮箱地址是否符合规定的格式。 同时,你还可以使用Vue正则表达式校验方法来限制输入的内容。比如,如果你想只允许输入汉字、英文字母和数字,不允许输入空格和特殊符号,可以使用如下代码: ```javascript var name = this.name.replace(/[`~!#$%^&*()_/\- =<>?:"{}|~!#¥@%·—……&*()={}|《》?:“”【】、;‘’,。、\s ]/g, ''); ``` 以上代码中的正则表达式可以替换掉输入内容中的空格和特殊符号,只保留汉字、英文字母和数字。 综上所述,Vue正则表达式校验可以通过以上方法来验证不同格式的数据。你可以根据具体的需求选择合适的正则表达式来进行校验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue项目中常用正则校验表达式](https://blog.csdn.net/weixin_46112225/article/details/116228796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值