首页 > 解决方案 > PHP中的正则表达式验证姓名和姓氏

问题描述

我正在尝试使用 preg_match 验证姓名和姓氏,但我的函数有问题。

我想允许所有类型的姓名或姓氏(或姓名),例如:

姓氏 姓氏 姓氏 姓氏

但也有 1 个字符串(或名称)中的 2 个或多个姓氏,例如

姓氏 姓氏 二 姓氏 三

我正在尝试使用这个 REGEX,我搜索并找到了其他解决方案,但是像“O'Hara”这样的姓氏不匹配。

$nameValidation = "/^[a-zA-Z '-]*$/";
$surname=filter_var($_POST['surname'], FILTER_SANITIZE_STRING);
if (preg_match($nameValidation, $surname)) {
    echo 'VALID ' . $surname;
} else {
    echo 'NOT VALID ' . $surname;
}

我用ajax调用发送输入

'surname': $.trim($('#floatingInputSurname').val()),

我究竟做错了什么?

谢谢

标签: phpregexvalidationinput

解决方案


推荐阅读