我对正则表达式不是很好,我需要一些帮助而且我被卡住了......
这就是我得到的:
编辑:现在工作正常,看看......
http://jsfiddle.net/oscarj24/qrPHk/1/
这就是我需要的:
// First 4 numbers must be always 9908
// After the 4 first numbers must be a : as delimiter
// After the delimiter...
// - the allowed values are just numbers from 0-9
// - the min. length is 3
// - the max. length is infinite
// RESULT:
// - Valid: 9908:123 or 9908:123456...
// - Invalid: 9908:12 or 9908:xyz
Run Code Online (Sandbox Code Playgroud)
谢谢.
Alexander Corwin的答案应该可以正常使用.我只想为他的回答添加一些解释.
9908周围不需要方括号,因为方括号表示其中的任何字符都有效.那么你的代码实际上要做的是匹配9,0或8.当你想指定一个文字字符串时,你可以像他一样写出来.
然而,忽略这一点,我看到的第二个问题是你使用了错误的量词语法来指定9908段的长度.您需要使用花括号来指定特定的长度范围,例如代码中的{3,}.括号仅用于创建序列组和反向引用.
此外,当您不创建RegExp对象时,您应该使用以正斜杠开始和结束的速记JavaScript正则表达式语法.您还可以在结束斜杠后添加修饰符,以更改正则表达式的执行方式.例如:
var re = /stackoverflow/g;
Run Code Online (Sandbox Code Playgroud)
'g'表示它可以在主题字符串上多次匹配.还有其他几个修饰符,您可以在这里找到更多信息:http://www.regular-expressions.info/javascript.html
您的固定行应如下所示:
var regex = /^9908:\d{3,}$/;
Run Code Online (Sandbox Code Playgroud)