【问题标题】:Regular Expression that accepts any number letters and '-' '\'接受任何数字字母和 '-' '\' 的正则表达式
【发布时间】:2014-02-02 15:43:32
【问题描述】:

您能否为 PHP 和 HTML5 推荐接受数字、字母和 '-' '\' 的正则表达式?

但任何字符串的长度必须在 4 到 30 个字符之间。

HTML 5:

 <input name="route" id="route" type="text" required title="4 to 30 characters/ 0-9 / A-Z/./'/'"   pattern="????"/>

PHP:

!(preg_match(?))

【问题讨论】:

  • 你能展示你目前拥有的东西吗?这通常有助于让读者了解您需要帮助的部分。 HTML5 没有正则表达式,所以我假设您想在 PHP 中执行此操作。此外,说明您在做什么也会有所帮助 - 例如,如果您使用正则表达式解析 HTML5,一般建议不要这样做,因为 PHP 中的 HTML 解析器会做得更好。
  • 这里需要一个字符类(方括号)和一个长度规范(大括号)。
  • @halfer HTML5 从技术上讲确实有正则表达式,在&lt;input&gt; 的 HTML5 模式属性中
  • @Joeytje50,对,谢谢!在这种情况下,OP 可能会要求两者之一 - 我认为需要澄清。
  • @halfer html 5 有一个必需的模式!

标签: php regex html


【解决方案1】:

使用这个正则表达式

^([A-Za-z0-9\/-]{4,30})$

【讨论】:

  • 永远不要在你的组中间放置破折号
  • 如果您将破折号放在组的中间,例如[a-z],您将匹配从az 的范围。在这种情况下,破折号正好在一个范围之后,所以它不会做任何特别的事情,但是在小组赛中间放置破折号仍然是一个非常糟糕的习惯。
  • @joeytje50 所以?你能帮帮我吗?
  • @GabrieleMandalari 我不确定您要做什么。 this code Namibi posted seems to work just fine
猜你喜欢
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多