Javascript正则表达式,如何允许空字符串为页面值进行打印

时间:2014-04-24 20:50:13

标签: javascript regex

我有一个正则表达式,用于检查为打印页面而输入的Page值,例如1-7或1-3,7或1-3,5-7。正则表达式适用于所有情况,我想允许空白作为页面值,因此它不应该验证空白并打印所有页面。我允许用户输入一些特殊字符,如[&, - ; _]。如何为此正则表达式允许空白或空字符串。页面值应以数字开头,以数字结尾。

var pageValue = document.getElementById("pages" + counter);
var regex = /^\d([&,-;_]\d+)*$/
//if page value is wrong, return null and display error message here
 if(regex.test(pageValue.value) == false) {
alert("Invalid page number: " + pageValue.value);
    return;
  }

我正在测试所有这些页面值。 匹配发现:2-3 匹配发现:1,2 匹配发现:3-1 不匹配---想要匹配空字符串 匹配发现:1_2 不是ABC的比赛 匹配发现:1& 2 匹配发现:1; 2 不匹配-1-9 不匹配1-9- 匹配发现:1-5,13 匹配发现:1-5; 13 匹配发现:1-5,13-23 不匹配1-5,13-23;

1 个答案:

答案 0 :(得分:1)

您可以使用:

var regex = /^(\d([&,;_-]\d+)*)?$/

允许空白作为可接受的值。

PS:-(连字符)保留为字符类中的第一个或最后一个以避免转义非常重要。