javascript中带破折号的数字字段的正则表达式

时间:2013-09-16 22:38:26

标签: javascript regex

我很难找出需要搜索的事物的正则表达式。

我的格式是######## - #。

这里的问题是“破折号”前面最多可以有10个数字,“破折号”之后最多可以有1到2个数字。

我怎样才能在正则表达式中实现这一目标?

我可以\d{5,}-\d{1,}吗?哪个说你需要至少5个号码前面的短划线和至少1个短划线?如果我在js中这样做,我需要一个特殊字符用于破折号吗?

提前致谢。

4 个答案:

答案 0 :(得分:4)

使用{min,max}量词指定您的数量:

/\d{,10}-\d{1,2}/

您不需要转义-,因为它在字符类之外没有特殊含义。

答案 1 :(得分:2)

 var m = /(\d{0,10})-(\d{1,2})/
 m[1] = // first set of numbers
 m[2] = // second set

答案 2 :(得分:1)

这样的表达式可以起作用:

\d{1,10}-\d{1,2}

这将匹配1到10位数字,后跟一个破折号,然后是一个或两个附加数字。

当然,如果您希望第一组数字完全是可选的,则可以用{0,10}{,10}替换第一个量词。

答案 3 :(得分:0)

您需要使用量词。像这样的东西会起作用

[0-9] {1,10} - [0-9] {1,2}或[0-9] {0,10} - [0-9] {1,2}如果可能的话