Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当页面加载时,如何激活Reg Ex?_Javascript_Php_Wordpress_Woocommerce - Fatal编程技术网

Javascript 当页面加载时,如何激活Reg Ex?

Javascript 当页面加载时,如何激活Reg Ex?,javascript,php,wordpress,woocommerce,Javascript,Php,Wordpress,Woocommerce,Woocommerce结账页面,我在手机文本中使用了reg ex。它工作顺利。但在加载页面时,这不起作用。因此,如果输入了电话号码,则显示如下: 0000000000 如果我点击标签,它会变成我想要的: 000-000-0000 因此,如果未单击标签,它看起来是相邻的。我怎样才能解决这个问题。我的代码如下: add_action('wp_footer', 'a_format_checkout_billing_phone'); function a_format_checkout_billing_

Woocommerce结账页面,我在手机文本中使用了reg ex。它工作顺利。但在加载页面时,这不起作用。因此,如果输入了电话号码,则显示如下: 0000000000 如果我点击标签,它会变成我想要的: 000-000-0000 因此,如果未单击标签,它看起来是相邻的。我怎样才能解决这个问题。我的代码如下:

add_action('wp_footer', 'a_format_checkout_billing_phone');
function a_format_checkout_billing_phone() {
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
        ?>
        <script type="text/javascript">
            jQuery( function($){
                $('#billing_phone').on( 'input focusout', function() {
                    var p = $(this).val();

                    p = p.replace(/[^0-9]/g, '');
                    p = p.replace(/(\d{1})(\d{3})(\d{3})(\d4})/, "$1-$2-$3");
                    $(this).val(p);
                });
            });
        </script>
    <?php
    endif;
}
add_action('wp_footer','a_format_checkout_billing_phone');
函数a\u格式\u签出\u计费\u电话(){
如果(is_checkout()&&!is_wc_endpoint_url()):
?>
jQuery(函数($){
$(“#计费电话”)。打开('input focusout',函数(){
var p=$(this.val();
p=p.替换(/[^0-9]/g,”);
p=p.replace(/(\d{1})(\d{3})(\d{3})(\d4})/,“$1-$2-$3”);
$(此).val(p);
});
});
jQuery(函数($){
$(“#计费电话”)。打开('input focusout',函数(){
var p=$(this.val();
$(“#计费电话”)。开启('keyup keypress blur change',功能(e){
p=p.替换(/[^0-9]/g,”);
p=p.replace(/(\d{1})(\d{3})(\d{3})(\d4})/,“$1-$2-$3”);
$(此).val(p);
});
});
});

使用此
$(“计费电话”)触发输入。触发(“输入”)



非常感谢。更新:出现问题。如果我写触发器,Wordpress函数(wc_add_notice)在出现任何错误时都不起作用。该页面不会转到顶部(要点击的页面)。有什么解决方案吗?更新(2):我按如下方式解决了问题:$('u#billing_phone').on('keyup keypress blur change',function(e){//codes});
    add_action('wp_footer', 'a_format_checkout_billing_phone');
        function a_format_checkout_billing_phone() {
            if ( is_checkout() && ! is_wc_endpoint_url() ) :
                ?>
                <script type="text/javascript">
                    jQuery( function($){
                        $('#billing_phone').on( 'input focusout', function() {
                            var p = $(this).val();
        
$('#billing_phone').on('keyup keypress blur change', function(e) {
                    p = p.replace(/[^0-9]/g, '');
                    p = p.replace(/(\d{1})(\d{3})(\d{3})(\d4})/, "$1-$2-$3");
                    $(this).val(p);
                });
                        });
                    });
                </script>
            <?php
            endif;
        }
add_action('wp_footer', 'a_format_checkout_billing_phone');
function a_format_checkout_billing_phone() {
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
        ?>
        <script type="text/javascript">
            jQuery( function($){
                $('#billing_phone').on( 'input focusout', function() {
                    var p = $(this).val();
                    p = p.replace(/[^0-9]/g, '');
                    p = p.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
                    $(this).val(p);
                });
                $("#billing_phone").trigger("input");
            });
        </script>
    <?php
    endif;
}