Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.4k views
in Technique[技术] by (71.8m points)

element ui表单验证时遇到的问题

为什么我把那个result全部写在if的括号里面,就不行。
单独拿出来就可以呢?
如图:
image.png
` let checkWords = (rule, value, callback) => {

  console.log(value)
  if (value === '') {
    this.$message.warning('关键词不能为空!')
    return callback(new Error('关键词不能为空!'))
  }
  let regBox = { regWords: /^([u4e00-u9fa50-9]+|[A-Za-z0-9]+)$/g }
  console.log('第一个条件')
  // console.log(regBox.regWords.test(value))
  let result = regBox.regWords.test(value)
  if (result === true) {
    return callback()
  } else {
    this.$message.warning('关键词格不能中英文混杂!不能有标点符号!!')
    return callback(new Error('关键词不能中英文混杂!不能有标点符号!'))
  }
}`

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

我之前遇到过一个问题,可能对你解决这个问题有帮助。

将带/g的正则表达式用变量存起来,去循环校验一组数据,本来应该是全部返回true,结果校验结果一会儿true,一会儿false,究其原因,其实是/g修饰符和lastIndex属性之间的微妙关系。

回到正题,如果你想把regBox.regWords.test(value)直接写在判断里,可以先把regWords里全局匹配修饰符g去掉再试试。希望对你有所帮助。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...