微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript正则表达式(页面范围验证)

昨天我有一个任务是在用户可以输入他想要下载的页面范围的字段上实现验证.

在阅读了一些教程之后,我创建了这样的模式,在我看来应该可行,但它没有:(

你能否给我一个提示,说明错误在哪里,或者以更好的方式完成.

<script type="text/javascript">
var patt1=new RegExp("^(\s*\d+\s*\-\s*\d+\s*,?|\s*\d+\s*,?)+$");
document.write(patt1.test("1,2,3-5,6,8,10-12"));
</script>

附:你可以在这里测试它:http://www.w3schools.com/js/tryit.asp?filename=tryjs_regexp_test

更多例子:

> 1场比赛
> 1-2比赛
> -2不匹配
> 1,2-3,4,5-7匹配
> 1 2,3不匹配
> 1-2-2不匹配

等……就像在MS Office或Adobe PDF Reader中一样

解决方法

您需要转义字符串中的反斜杠,否则JavaScript会将它们删除或将它们解释为转义序列:

var patt1 = new RegExp("^(\\s*\\d+\\s*\\-\\s*\\d+\\s*,?|\\s*\\d+\\s*,?)+$");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐