javascript - 有什么比我的测试门牌号码的模式更好的正则表达式/正则表达式?

标签 javascript regex validation

我想允许以下模式:任何数字或两个数字之间有连字符,所以基本上是门牌号。

到目前为止,这有效,但对我来说有点奇怪:/^(\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/

相关文章:

javascript - 如果文本位于两个哈希标签之间,则突出显示文本 ##ccc## 文本 ##234##

javascript - 使用 json_encode 将 php 变量转为 javascript

javascript - 将字符串转换为输出字符串的方法

javascript - Gulp 和 Bower 集成

python - 基于单列的多个数据框转换

c# - MVVM - 验证

php - 正则表达式提取尖括号之间的字符串,并且尖括号之间恰好有一个@字符

javascript - 正则表达式 - 在非字母的任何字符前添加空格

jquery - asp.net mvc3如何实例化客户端验证?

javascript - JQuery 验证字符最小值