Javascript 正则表达式仅匹配数字 1 到 11

标签 javascript regex validation

我需要用 Javascript(不是 JQUERY)创建一个正则表达式。

正则表达式只能匹配从 1 到 11 的数字。

我开始使用这个正则表达式来允许数字 1 到 11,但它也允许 21、31、41、51 等。我只需要数字 1 到 11。谢谢。

var range = /([0-9][0-1]{1,2})/g;

澄清:我需要使用正则表达式进行表单验证。我正在使用 HTML 属性“min/max”,但我工作的平台仍然提交表单,所以我需要在提交到服务器之前在客户端捕获它。

最佳答案

这是正则表达式,假设文本只能包含这个数字,没有别的:/^([1-9]|1[01])$/

你可以玩这个 here .

解释:

  • /^...$/ 确保它从头到尾匹配。所以 12 不会仅仅因为起始 1 就匹配。
  • 替代方法 (...|...) 允许两种数字:
    • [1-9] 允许从 1 到 9 的一位数字。
    • 1[01] 允许以 1 开头的两位数,然后是 0 或 1。

关于Javascript 正则表达式仅匹配数字 1 到 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37392739/

相关文章:

javascript - 验证复制|克隆的输入字段是否具有相同的信息

php - 正则表达式在在线测试器中运行良好,但在我的页面上不起作用

regex - 如何 regex_replace 找到的每个实例?

c - 如何在 C (GCC) 中只获取整数?

javascript - 单击按钮时如何触发事件监听图层上的形状?

javascript - 从last.fm API 访问JSON

javascript - Material UI Popover - keydown 事件模拟问题

r - 为什么这个行尾 (\\b) 在 stringr/ICU 和 Perl 中不被识别为字边界

javascript - ASP.NET CustomValidator 不工作,始终返回 True

c# - ASP.NET MVC 条件验证