如何在HTML中为以下条件添加模式正则表达式?

时间:2018-02-16 12:17:35

标签: javascript html regex

我仍在积极尝试了解regexp的工作原理,但我需要根据以下条件制作正则表达式:

  1. 仅允许输入的长度正好为7
  2. 前4个只能是字母
  3. 最后3个只能是0到9之间的数字
  4. 如果只给出3个字母,然后跟随数字,则该单词的第4个可以是空格。
  5. 感谢。 P / S:我不是开发人员,所以我可能很难理解逻辑。

1 个答案:

答案 0 :(得分:2)

使用正则表达式 /^[a-z]{3}([a-z]|\s)\d{3}$/gi

解释

  • ^断言字符串的开头
  • [a-z] {3}检查3个连续字母
  • ([a-z]|\s)是字母或空格(基于第4点)
  • \d{3}检查3位连续数字

<强>演示

var isValid = (str) => !!str.match(/^[a-z]{3}([a-z]|\s)\d{3}$/g);

console.log( isValid( "asdf123" ) ); //valid

console.log( isValid( "asd 123" ) ); //valid

console.log( isValid( "asdf 123" ) ); //invalid