重力形式和正则表达式-似乎没有验证

时间:2019-05-25 作者:r3lai

我试图验证一个字段,以确保它是9个数字(加拿大SIN数字格式)。我已设置以下过滤器:

add_filter( \'gform_field_validation_1_1\', \'validate_SIN\', 10, 4 );
   function validate_SIN( $result, $value, $form, $field ) {
    $pattern = "^\\d{3}-?\\d{3}-?\\d{3}$";
    if ( !preg_match( $pattern, $value ) ) {
        $result[\'is_valid\'] = false;
        $result[\'message\']  = \'value:\'.$value.\' pattern:\'.$pattern.\' No Pattern Match\';
    }

    return $result;
}
无效条目无法验证,但有效条目也无法验证。我知道正则表达式很好,因为我以前用过它,所以我不知道它为什么不起作用。

有人有什么指导吗?

1 个回复
最合适的回答,由SO网友:filipecsweb 整理而成

可能您只是忘记了模式的分隔符。

尝试声明您的$pattern 例如:

$pattern = "/^\\d{3}-?\\d{3}-?\\d{3}$/";

相关推荐