我正在尝试使用preg_match()来仅允许来自a-z的字符。我正在使用这个字符串:
if (! preg_match('/[^a-z]/i', $name)) {
echo 'Invalid characters in your name..';
return false;
}
但由于某种原因,它允许所有角色。我现在已经很长时间都出演了这些专栏,我不明白为什么它不起作用。
答案 0 :(得分:4)
你的模式只搜索一个字符,这就是为什么它每次都会返回true,如果不是字符串只包含无效字符。
将此模式更改为此,您应该启动并运行
^[a-z]+$
如果你想允许大写字母
^[A-za-z]+$
也许是数字
^[A-za-z0-9]+$
修改强>
如果要检查<>
的字符串
你可以使用
(<|>)
但它会返回true