zoukankan      html  css  js  c++  java
  • 正则校验——日常通用补充

    使用场景:

    1.表单校验:

    2.自定义校验:

    3.数据过滤:

    一、表单校验:

    { pattern: /xxxx/, message: 'xxxx', trigger: 'blur' }
    { validator: validatorFun,required: true, type:'array' }
        const validateFun = (rule, value, callback) => {
          if (value) {
            const pattern= /^[u4E00-u9FA5a-zA-Z0-9_]+$/
            if (!value.match(pattern)) {
              callback(new Error('只允许中英文、数字、下划线'))
            } else if (this.formInfo.tableWideName.indexOf(value) !== -1) {
              callback(new Error('该命名已存在'))
            } else {
              callback()
            }
          } else {
            callback(new Error('请输入特征宽表名'))
          }
        }

    1.只允许中英文、数字、下划线(如果允许为空,则把+改成*)

    /^[u4E00-u9FA5a-zA-Z0-9_]+$/
    拆分: /[u4e00-u9fa5]/ + /^w+$/
    等效: [a-zA-Z0-9_] = w
     
    2.只允许数字与英文句号搭配
    /^d+.d+.d+$/
     
     
    二、自定义校验:
    校验方法:

     【1.js】:  parttern.test(val)   或   parttern.match(val)  或   parttern.exec(val)

      const parttern = /xxx/
      const val = 'xxxx'

      【2.php】:  preg_match($parttern,$val)
      $parttern = "/xxx/"
      $val = "xxx"
     
    1.限制开始与结尾的参数:如必须是${xxx}格式
    /^${w+}$/   //  ^表示开始应该是xxx,在方括号内则意思相反。即不出现xxx

    2.限制重复的次数:

    /^[a-zA-Z0-9_]{1,}$/  //  {}表示重复次数,即至少有1个左侧的内容
     /^[a-zA-Z][a-zA-Z0-9-]{0,}$/  //  至少有0个中英文、数字、短横杆(-)

    3.限制数值大小:

    
    
     /^([1-9][0-9]{0,1})$|^([1-2][0-3][0-9])$|^240$|^${w+}$/ //  必须是大于0小于240的整数或者格式${key}
    
    
     /^([0-9][0-9]{0,1})$|^100$|^${w+}$/  //  必须在0-100之间或者格式${key}

    4.复杂的校验

     /(?=.*(.*)|.*(.*))^[a-zA-Z0-9u4e00-u9fa5()()]*$|^[a-zA-Z0-9u4e00-u9fa5]*$/  //  只允许中英文、数字、括号(必须成对)和下划线

     三、数据转换与过滤

    搭配方法:

    str.replace(' ', '
    ') //2个字符串的替换,空格替换成换行符

     str.replace(/xxx/, '') //通过正则校验进行,替换

    (str || '').replace(/"connectionId":"[S]+"/g, '') //去除指定内容
    str.replace(/s/ig, '')  //去除所有空格
    str.replace(/,/g, ',') // 中文逗号转化为英文逗号
       function deleteJson (value) {
          let result = ''
          let lines = value.split('
    ')
          lines.forEach(val => {
            let n = val.indexOf('//')
            let str = n === -1 ? val : val.substring(0, n)
            str.trim()
            result += str
          })
          return result
        }

     stringObject.replace(regexp/substr,replacement)

    Str.replace(/w+/g, function(word){ //首字母换成大写
      return word.substring(0,1).toUpperCase()+word.substring(1);}
      );
  • 相关阅读:
    【NOIP2013模拟9.29】Mixing Chemicals
    【NOIP2013模拟9.29】TheSwaps
    【NOIP2013模拟9.29】密码
    【GDKOI2004】使命的召唤
    【GDKOI2003】分球
    【GDKOI2003】最大公共子串
    linux安装问题
    PLSQL 看连接数据库的用户
    Hibernate 框架的配置之一
    Struts2 Tomcat的配置
  • 原文地址:https://www.cnblogs.com/wheatCatcher/p/11287949.html
Copyright © 2011-2022 走看看