javascript - 正则表达式确保有效的查询字符串

标签 javascript regex query-string

我正在尝试提出一个可以与 Javascript .test 一起使用的正则表达式,以确保我的系统仅接受有效格式的查询字符串。

格式如下所示 i=1&s1=122&s2=238&s3=167&s4=756&s5=13 它可以包含无限数量的 s#= 参数,因此可能比这个例子更长或更短。

在英语中,格式类似于 i=1&s[1+0]=[任意数字 > 0]&s[1+1]=[任意数字 > 0]&s[1+2]=[任意number > 0] 等等。

现在我的正则表达式是 /^([\w-]+(=[\w-]*)?(&[\w-]+(=[\w-]*)? )*)?$/ 它基于 this answer. 中提供的代码它在拒绝某些类型的无效字符串方面做得不错,但仍然有很多漏掉的情况。

如何改进此正则表达式,使其更准确地拒绝无效数据?

最佳答案

如果我正确理解了这个问题,你可以通过以下方式收紧事情:

/^i=1(&s\d+=\d+)+$/

它将允许 s14 出现在 s2 之前,但查询参数无论如何都应该是无序的。

关于javascript - 正则表达式确保有效的查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26924055/

相关文章:

javascript - 如何使用 javascript 传递查询字符串并在 asp.net 的代码隐藏页面中使用它?

php - 如何使用 AJAX 将数据发送到我的 PHP 脚本?

javascript - 如何在 prettyPhoto Image Viewer 中设置缩略图

asp.net-mvc - asp.net mvc多参数请求动态图片?

php - 使用 preg_replace 匹配重复的空格

Java字符串操作: extracting integer and float from string based on pattern

php - 如何在 Woocommerce 中向自定义感谢网址添加变量

javascript - 合并对象

javascript - 单击 Angular UI Bootstrap 单选按钮

javascript - 如何在 jQuery 中使用正则表达式