问题描述
我想使用 Gravity Forms 中的 gform_field_validation 函数来验证全名字段,仅当两个名字之间有空格时,验证某人没有输入一个名字,并将其放在第一位和姓氏。
我相信我已经找到了正确的正则表达式 /^[a-zA-Z ]+$/ .就是不知道怎么实现。
解决方法
试试这个:
add_filter( 'gform_field_validation','validate_fullname',10,4 );
function validate_fullname( $result,$value,$form,$field ) {
$pattern = "/^\w+\s\w+$/";
if ( ! preg_match( $pattern,$value ) ) {
$result['is_valid'] = false;
$result['message'] = 'Please enter a valid full name';
} else {
$result['is_valid'] = true;
$result['message'] = '';
}
return $result;
}
说明:
-
^
- 字符串开头的锚点 -
\w+
- 1 个以上的单词字符 -
\s
- 一个空格 -
\w+
- 1 个以上的单词字符 -
$
- 字符串末尾的锚点
您可能想要一个更宽容的正则表达式,允许包含多个单词:
$pattern = "/^\w+(\s\w+)+$/";
说明:
-
(\s\w+)+
- 一个或多个空格序列,后跟单词字符