由' /'分隔的九个字母的正则表达式

时间:2018-03-13 16:13:04

标签: regex

我需要编写一个正则表达式,允许以这种格式写入9个数字和/或数字:=> [:Things, :ThingTwo, :ThingOne] 。但是,每个中的数量可能会有所不同,因此例如它可以像:XXX/XXX/XXX,只要有最多4个x。

尽我所能,但没有提出任何解决方案。

2 个答案:

答案 0 :(得分:1)

  

基于JavaScript的解决方案:



var input = prompt("Enter something");

var isValid = false;

if(/^\d{1,4}\/\d{1,4}\/\d{1,4}$/.test(input) && input.replace(/\//g, "").length == 9) {
  isValid = true;
}

console.log("Valid: ", isValid);




  

说明:

  1. \d表示数字。
  2. 正斜杠/是一个特殊字符,因此需要进行转义,例如\/
  3. 您使用{0,4}
  4. 指定范围
  5. 验证完模式后,您必须从输入中删除所有/,然后将长度与9进行比较

答案 1 :(得分:1)

仅限REGEX

(?=\b.{11}\b)[0-9]{1,4}\/[0-9]{1,4}\/[0-9]{1,4}
  • (?=\b.{11}\b)一个positive lookahead断言你有11个字符(因为你有9个数字和2个斜杠)
  • [0-9]{1,4}一组最少1位和最多4位数(您可以使用\d代替0-9
  • \/斜线逃脱

现场演示here

不要忘记打开g选项,这意味着您不会在第一场比赛后返回。