js正则表达式使用

记录一下正则表达式的使用

创建正则

create() {
    
    
    // 创建正则
    // 1.构造函数创建  检查一个字符串中是否有3
    const exp1 = new RegExp('3')
    // 两个参数的情况,第二个参数可以是 :i(忽略大小写),g(匹配全局)
    const exp2 = new RegExp('B', 'i')
    console.log(exp1.test('3333')) // true
    console.log(exp2.test('aaaa'), exp2.test('bbb')) // false  true

    // 2.变量创建 不需要写引号
    var exp3 = /^[0-9]+$/
    console.log(exp3.test('bbb'), exp3.test('234')) // false  true
}

校验单个字符是否在数字 0 ~9 范围内

function checkNumber(number) {
    
    
  // 正则
  const numberReg = /^[0-9]+$/
  var numberList = number.split('')
  var verify = true
  for (let i = 0; i < numberList.length; i++) {
    
    
    if (!numberReg.test(numberList[i])) {
    
    
      verify = false
      break
    }
  }
  return verify
}

校验颜色

// 校验颜色
color(value) {
    
    
    const re = new RegExp('^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$')
    /**
     *  match() 方法将检索字符串,以找到一个或多个与 regexp 匹配的文本。
     * 这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。
     * 如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息
     */
    if (value.match(re) == null) {
    
    
        console.log('字体颜色不符合格式')
    }
}

校验名称 (大小写字母、下划线)

valid 表单验证名称 
const validateName = (rule, value, callback) => {
    
    
  const reg = /^[A-Za-z_]+$/
  if (reg.test(value)) {
    
    
    callback()
  } else {
    
    
    callback(new Error('名称包含大小写字母,下划线'))
  }
}

猜你喜欢

转载自blog.csdn.net/Peanutfight/article/details/124741002