0

我有这个代码:

echo preg_match ("%^[A-Za-z0-9]$%", stripslashes(trim(X)));

X = "peter"输出为:0

因为X = "peter."输出也是 0

但是当我删除时^,它突然开始工作:

echo preg_match ("%[A-Za-z0-9]$%", stripslashes(trim(X)));

因为X = "peter"它返回 1,"peter."它返回 0。不使用它是否正确^?有点奇怪。我究竟做错了什么?

4

1 回答 1

1

您需要使用字符匹配多个*字符:

echo preg_match ("%^[A-Za-z0-9]*$%", stripslashes(trim(X)));

或者使用+修饰符

echo preg_match ("%^[A-Za-z0-9]+$%", stripslashes(trim(X)));

只匹配带有length() > 0.

于 2013-08-10T23:14:06.863 回答