1

我正在尝试删除电话号码 (999) 999-9999 中的文字,使其成为另一个隐藏输入值中的 9999999999。

这可以使用 .val() 函数来完成,还是只能向隐藏输入添加更多值?

电话 1= (999) 999-9999

电话应该有这个值= 9999999999

        $('#phone1').bind('keypress blur', function() {

    $('#phone').val($('#phone1').val() + ' ' );
    });
4

3 回答 3

5
  1. 获得价值
  2. 运行字符串替换
  3. 设定值

简单字符串的基本思想

var str = "(999) 999-9999 ";
var newStr = str.replace(/\D/g,"");
console.log(newStr);

现在写你所做的最好的方法是

$('#phone1').on('blur', function() {  //jQuery 1.7.2+ use on, not bind
    var txtBox = $(this);
    txtBox.val( txtBox.val().replace(/\D/g,"") );
});
于 2012-08-13T18:23:39.593 回答
1
$('#phone1').on('keypress blur', function() {
    $('#phone').val(this.value.replace(/[^\d]/g, "") + ' ' );
});

小提琴

于 2012-08-13T18:26:20.583 回答
1

您需要replace [MDN]方法。这将为您完成大部分工作:

$('#phone').val($('#phone1').val().replace(/\D/g, ''));

第一个参数可以是子字符串或正则表达式。在示例中,我将正则表达式用于“不是数字”。

于 2012-08-13T18:26:55.800 回答