我在联系表格7中有一个数字字段。它必须是11位数字,前两位必须是24或42.请告诉我如何从functions.php
文件执行此操作。这是我的正则表达式^(24|42)\d{9}$
。但是我无法在functions.php
文件
答案 0 :(得分:1)
检查http://contactform7.com/2015/03/28/custom-validation/以获取有关表单验证的一般信息。假设您的字段包含type="number"
和name="eleven-digits"
,您的过滤器可能如下所示:
add_filter( 'wpcf7_validate_number', function( $result, $tag ) {
$tag = new WPCF7_Shortcode( $tag );
if ( $tag->name = 'eleven-digits' && preg_match( '^(24|42)\d{9}$', $result ) ) {
return true;
}
return false;
} );
如果您想要更详细的答案,则应在问题中添加更多详细信息。
答案 1 :(得分:0)
以下是答案
add_filter( 'wpcf7_validate_text*', 'custom_number', 20, 2 );
function custom_number( $result, $tag ) {
$tag = new WPCF7_Shortcode( $tag );
if ( $tag->name = 'eleven-digits' ){
$number = isset( $_POST['eleven-digits'] ) ? trim( $_POST['eleven-digits'] ) : '';
if (!preg_match( '/^(24|42)\d{9}/', $number )) {
$result->invalidate( $tag, "Enter correct number." );
}
}
return $result;
}
答案 2 :(得分:-1)
我在末尾添加了表达式$
,不允许超过9位数字,就像这样:
/^(24|42)\d{9}$/