我想允许以下模式:任何数字或两个数字之间有连字符,所以基本上是门牌号。
到目前为止,这有效,但对我来说有点奇怪:/^(\d)+$|^([\d]+-[\d]+)$/g
这正确地验证了“1”、“12”、“12-13”
,并且无效了“-2
”和“12-”
最佳答案
关注怎么样?
/^\d+(-\d+)?$/
- 您不需要指定
g
标志。 ?
使以下-\d+
部分可选。
示例:
/^\d+(-\d+)?$/.test('1') // true
/^\d+(-\d+)?$/.test('12') // true
/^\d+(-\d+)?$/.test('12-13') // true
/^\d+(-\d+)?$/.test('-13') // false
/^\d+(-\d+)?$/.test('13-') // false
关于javascript - 有什么比我的测试门牌号码的模式更好的正则表达式/正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21116318/