我正在尝试在JS中编写一个正则表达式来识别任何数字,最多七次,然后是" - "后跟2位数后跟" - "后跟一位数字.这是我的简单正则表达式:
/\d{1,7}-\d{2}-\d/g
Run Code Online (Sandbox Code Playgroud)
这应该符合以下字符串:
123-12-71-12-71234567-12-7但不是 12345678-12-1
但是,以上情况正在回归.当第一组中有任意数量的数字时,正则表达式返回true.
JavaScript Regex对象不支持{n,m}吗?
这是我正在谈论的一个例子.
var pattern = new RegExp(/\d{1,7}-\d{2}-\d/);
alert(pattern.test("12345678-13-1"));
Run Code Online (Sandbox Code Playgroud)
它匹配2345678-13-1.您需要将其锚定到字符串的开头和结尾:
/^\d{1,7}-\d{2}-\d$/
Run Code Online (Sandbox Code Playgroud)
但请注意,(如Rocket Hazmat指出的那样)RegExp如果使用正则表达式文字(没有字符串引号),则不需要使用构造函数.
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |