正则表达式检测仅由连字符分隔的任意数字的数字

时间:2016-07-02 07:10:01

标签: javascript regex

目前我使用\b\d-\d\b但没有成功。

我想使用在以下情况下有效的正则表达式:

任意数字(至少一个数字值)仅用连字符分隔。

正则表达式在这种情况下有效:

1-1
2-22
03-03
4-44
555-555

等等。

你能告诉我我做错了什么并指出了一个很好的例子吗?

注意:我需要从正则表达式中返回true或false。

1 个答案:

答案 0 :(得分:1)

任意数量的数字(但至少有一位)都是belongs_to_required_by_default,其中\d+表示与前一部分匹配一次或多次(相当于+)。所以:

\d{1,}

有关JavaScript支持的正则表达式功能的列表,请查看MDN's regular expressions page

更新:在评论中,OP提到尝试匹配字符串\b\d+-\d+\b 。要从较长的字符串中实际提取数字部分,请使用.match() method

"1-25656{{}"

...如果没有匹配将返回var matches = inputString.match(/\b\d+-\d+\b/); ,否则将返回包含第一个匹配的数组。要获取所有匹配项,请添加null(全局)标记:

g

最终更新:如果您想测试字符串是否只包含由连字符分隔的两个数字,请使用以下表达式:

var matches = inputString.match(/\b\d+-\d+\b/g);