验证仅包含字母,数字和可选空格的字符串

时间:2013-07-08 16:26:50

标签: php regex validation

我有这个功能:

function validate_string_spaces_only($string) {
    if(preg_match("/^[\w ]+$]/", $string)) {
        return true;
    } else {
        return false;
    }
}

我想匹配一个只包含字母和数字的字符串和一个可选的空格字符。当我向上面的函数提供一个只包含字母,数字和空格的字符串时,它每次都会失败。我错过了什么?

2 个答案:

答案 0 :(得分:2)

你的正则表达式附近有一个额外的]字符。删除它,它应该工作。

"/^[\w ]+$]/"应为"/^[\w ]+$/"

(另请注意,\w通常也允许下划线,您可能想要也可能不想要。“

答案 1 :(得分:1)

这个正则表达式将:

  • 匹配仅包含字母和数字的字符串以及可选的空格字符

^[a-zA-Z0-9\s]+$

enter image description here