我想创建一个函数来验证我的应用程序中的名称。有效名称可以包含大小写字母,可以包含-
作为好。正则表达式只允许字母,单个空格和“ - ”
<?php
function ValidateName($input) {
if(!preg_match("/[^a-zA-Z- ]/",$input)) {
return "The name is invalid";
} else { return $input;}
}
$name = "Joe Dow";
echo ValidateName($name);
?>
它仍然输出名称是invalid.I认为正则表达式肯定是错误的here.Also我向任何多个空格转换成一个空格
你的逻辑倒退了。 “如果字符串不包含('!preg')任何不是('[^ ...]')的字符...则返回无效”。 –
重复http://stackoverflow.com/questions/6925385/how-to-allow-only-spaces-and-alpha-in-name-fields-php-using-regex?rq=1 –