【问题标题】:Check for spaces using regex使用正则表达式检查空格
【发布时间】:2013-05-15 00:20:07
【问题描述】:

我正在使用正则表达式(我想这就是所谓的 - 哈哈)来检查我的用户名以确保它是有效的。我想确保用户没有任何字符。只是字母和空格。我已经把唯一的字母部分记下来了,但我无法修复空格部分。

这是我现在正在使用的..

if(preg_match("/[^a-zA-Z]/", " ", $name) != 0) {

        $errorlist = $errorlist."<li>You must enter a valid First and Last name (check for invalid characters)</li>";

}

有人知道我做错了吗?

【问题讨论】:

  • 你可能可以使用\s
  • 不能使用 \s - 匹配所有空白字符

标签: php regex character


【解决方案1】:

只需在您的正则表达式模式中添加一个空格。 PS - preg_match() 的第二个参数应该是 $name,对吧?你测试“”有什么原因吗?

if(preg_match("/[^a-zA-Z ]/", $name) != 0) {
    $errorlist = $errorlist."<li>You must enter a valid First and Last name (check for invalid characters)</li>";
}

【讨论】:

  • 没想到这么简单!谢谢!
  • @Fred - 您想在此处使用空格字符而不是 \s 的原因是后者除了空格之外还允许制表符和回车符。
  • @StevenMoseley 我删除了我的问题。我马上就注意到了。好电话 ;-) 干杯
  • @StevenMoseley a-z 后面还需要一个空格吗?
  • @Fred - 不。该模式只需要每个字符的单一表示来匹配。在这种情况下,我们说的是“不匹配(a 和 z 之间的所有字符,A 和 Z 之间的所有字符,以及空格)”
猜你喜欢
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
相关资源
最近更新 更多