在 WooCommerce 结帐时格式化帐单电话号码

j92*_*j92 1 php format wordpress checkout woocommerce

对于 WooCommerce 结帐帐单字段,如何使该字段需要 9 个数字并插入破折号以正确设置电话格式?例如,不是在电话号码字段中输入 3053453212,而是显示:(305-345-3212)

Loi*_*tec 5

基于“使用 jquery 格式化表单中的电话号码”答案代码,这里是格式化 Woocommerce 计费电话的方法:

add_action('wp_footer', 'format_checkout_billing_phone');
function 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);
        });
    });
    </script>
    <?php
    endif;
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。