【问题标题】:Accept only 12 comma seperated values for input type text html5仅接受输入类型文本 html5 的 12 个逗号分隔值
【发布时间】:2015-10-02 23:03:06
【问题描述】:

我希望我的输入标签最多只能接受 12 个逗号分隔的值。它不应该接受像 1, 这样的值,表示逗号后它们什么都不是 这是我制作的正则表达式。我认为 php 和 JavaScript 中的正则表达式 syantax 是一样的

 [0-9a-zA-z]+(,[0-9a-zA-z]+){12}$

但它不起作用 这是我的全部代码

<form action="demo_form.php">
  <input type="text" name="country_code" pattern="[0-9a-zA-z]+(,[0-9a-zA-z]+){12}$" title="only 12 comma separated vaue">
  <input type="submit">
</form>

请帮助我 提前致谢

【问题讨论】:

  • 或许,你需要^[^,]*(,[^,]*){11}$
  • @stribizhev 它不接受小于 12 的值,它也接受逗号后的空格文本

标签: javascript php regex html


【解决方案1】:

我认为这个正则表达式适合你。

^[0-9a-zA-z]+(,[0-9a-zA-z]+){0,11}$

您可以在site 中测试您的正则表达式。太棒了。

【讨论】:

  • 首先,您没有在正则表达式的开头添加 ^,其次,您使用的是 {12} 严格要求 12 次重复,但我们需要 {1, 11} 需要 1 到 11重复,11 次,因为你需要 12 次,而我们一开始就已经有了。
  • 你能帮我理解这个吗 (,[0-9a-zA-z]+) 我对此也很困惑 谢谢
  • 我建议你通过RegexOne。那里的课程清除了我对正则表达式的所有疑虑。
  • 好的,我会的,但如果您有时间,请与我分享您的知识,再次感谢
  • 这很简单,正则表达式将接受以逗号(,)开头并且至少有一个数字(0-9)或小写字母(a-z)或大写字母(A-Z)的任何字符。表达式 + 表示至少一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
相关资源
最近更新 更多