如何将此更改为非字母数字? (在谷歌我看到所有想要字母数字的人)
代码:
/* Check if username is not alphanumeric */
else if(!preg_match("/^[a-zA-Z0-9,]+$/", $subuser)){
$form->setError($field, "* Username not alphanumeric");
}
它一直在说
* Username not alphanumeric
这是我用eregi时的旧部分
/* Check if username is not alphanumeric */
else if(!eregi("^([0-9a-z])+$", $subuser)){
$form->setError($field, "* Username not alphanumeric");
}
答案 0 :(得分:3)
使用正则表达式最简单的方法是在^
字符类中使用[]
来否定if:
if(preg_match('/[^a-z0-9]/i', $subuser)) {
//contains at least one non alpha-num character.
}
但是,PHP还为此提供了内置函数:ctype_alnum()
if(!ctype_alnum($subuser)) { .... }
答案 1 :(得分:2)
您可以将special character class identifier :alnum:
与,
一起使用,并将其用^
取消:
if(!preg_match("/[^:alnum:,]+$/", $subuser))
答案 2 :(得分:0)
将"/^[a-zA-Z0-9,]+$/"
更改为"/[^a-zA-Z0-9,]+/"
并尝试