我只想允许使用字母、数字、空格、无衬线和连字符。
到目前为止,我认为这个 preg_match 可以完成这项工作:
if(preg_match('/[^a-z0-9 _]+$/i', $name)) {
$error = "Name may only contain letters, numbers, spaces, \"_\" and \"-\".";
}
但我刚刚意识到字符串中的特殊字符不会产生错误。例如
你好”@£$joe
不会产生错误。是否可以进行一些更改并使其正常工作,还是我需要其他解决方案?