我需要编写一个正则表达式,允许以这种格式写入9个数字和/或数字:=> [:Things, :ThingTwo, :ThingOne]
。但是,每个中的数量可能会有所不同,因此例如它可以像:XXX/XXX/XXX
,只要有最多4个x。
尽我所能,但没有提出任何解决方案。
答案 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);

说明:
\d
表示数字。/
是一个特殊字符,因此需要进行转义,例如\/
{0,4}
/
,然后将长度与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
选项,这意味着您不会在第一场比赛后返回。