使用jquery在表单中格式化电话号码

使用jquery在表单中格式化电话号码,jquery,onfocus,Jquery,Onfocus,我正在尝试使用jquery在表单输入字段中格式化电话号码,不确定我做错了什么 $(document).ready(function() { $('#phone').focusout(function() { function phoneFormat(phone) { phone = phone.replace(/[^0-9]/g, ''); phone = phone.replace(/(

我正在尝试使用jquery在表单输入字段中格式化电话号码,不确定我做错了什么

$(document).ready(function() { 
        $('#phone').focusout(function() {

            function phoneFormat(phone) {
                phone = phone.replace(/[^0-9]/g, '');
                phone = phone.replace(/(\d{3})(\d{3})(\d{4})/, "($1) $2-$3");
                return phone;
            }

            var phone = $(this).text();
            phone = phoneFormat(phone);
            $(this).text(phone);
         });
});

你必须改变这个

var phone = $(this).text();
phone = phoneFormat(phone);
$(this).text(phone);

因为输入字段的值是使用val而不是文本检索和设置的

$'phone'.focusoutfunction{ 函数电话格式{ phone=phone.replace/[^0-9]/g; phone=phone.replace/\d{3}\d{3}\d{4}/,$1$2-$3; 回电话; } var phone=$this.val; phone=phoneFormatphone; $this.valphone; };
您是否得到错误或意外的结果?你期望得到什么?不确定我做错了什么。我们也不确定。也许你会表现出你的期望和真正发生的事情?
var phone = $(this).val();
phone = phoneFormat(phone);
$(this).val(phone);