带有一个连字符(1-5)的数字和带有单个空格的数字的正则表达式(1 2 3 4 5)

时间:2012-09-26 09:37:05

标签: javascript regex

如何验证输入应采用两种指定格式的文本框..格式为

例如:1-5或1 2 3 4 5

请参阅我想仅以两种方式输入数字(仅限数字)。要么是1-5(中间没有空格),要么是1 2 3 4 5(中间只有一个空格)。如何验证并使用正则表达式避免使用这两种格式的条目?

请帮忙

2 个答案:

答案 0 :(得分:3)

^(\d+)(-(\d+)|( \d+)+)?$

上述正则表达式应符合您的要求

当然,这是javascript!

var regex = /^(\d+)(-(\d+)|( \d+)+)?$/;

验证:

if (regex.test(formValue))
{
    //Valid textbox value
}

答案 1 :(得分:2)

^(\d+-\d+)|(\d+(\s\d+)*)$

让我解释一下:

  • ^锚定到字符串的开头
  • 然后,我们在以下内容之间进行了更改|
    • \d+-\d+匹配1位或更多位数字,后跟连字符,后跟1位或更多位数
    • \d+(\s\d+)*匹配一个数字后跟0或更多空格和数字
  • $锚定到字符串的末尾