如何使用preg_match检查表单帖子中只包含多个字段上的字母?
我有一个当前的代码,它允许我检查注册表中的用户名字,以确保它只包含字母、空格和破折号。但是,如何启用多个字段(例如,姓氏也是)的检查。
/* Checks if the first name only includes letters, dashes or spaces */
if(preg_match("/^[a-zA-Z -]+$/", $_POST['firstname']) == 0)
$errors .="Your name must only include letters, dashes, or spaces.";
我尝试了以下选项,但似乎只选中其中一个,而不是两个都选中。
if(preg_match("/^[a-zA-Z -]+$/", $_POST['firstname'], $_POST['lastname']) == 0)
还有:
if(preg_match("/^[a-zA-Z -]+$/", $_POST['firstname'] and $_POST['lastname']) == 0)
提前感谢您的建议。
解决方案
由于这两个字段将使用相同的正则表达式进行验证,并且您不希望返回任何关于哪一个(如果有)失败的具体反馈,因此只需连接这两个字符串。
if(preg_match("/^[a-zA-Z -]+$/", $_POST['firstname'] . $_POST['lastname']) == 0)
相关文章