【问题标题】:textarea to accept 12 comma separated values for input type texttextarea 接受输入类型文本的 12 个逗号分隔值
【发布时间】:2015-07-15 09:25:45
【问题描述】:

我希望我的输入标签最多只能接受 12 个逗号分隔的值。它不应该接受像 1, 这样的值,表示逗号后它们什么都不是,这是我所做的正则表达式。

我当前的正则表达式不接受像 1 or a or 12ab 这样的单个值

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

http://www.phpliveregex.com/ 上检查过,但它不起作用。这是我的全部代码

if(!preg_match("/^[0-9a-zA-z]+(,[0-9a-zA-z]+){1,11}$/", $data){
        return false
}else{
        return $data
}

【问题讨论】:

  • 我看到您在 RegEx 中的第二个 z 是一个小写字母。您希望将其设为大写 ​​Z 以匹配正确的范围。这意味着字符组应如下所示:[0-9a-zA-Z]
  • 谢谢 ChristianF 让我测试一下

标签: php regex preg-match


【解决方案1】:
^[0-9a-zA-Z]+(,[0-9a-zA-Z]+){0,11}$
                             ^^ 

这应该会为您完成。请参阅演示。

https://regex101.com/r/nN4oT8/4

【讨论】:

  • @UsamaLucky 解释为什么会这样:您要求一个值,然后至少再输入一个以逗号分隔的值。您希望它后面跟至少 0 个值。 ;)
  • 感谢 vks 和 ChristianF 让我测试一下
猜你喜欢
  • 2015-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多