我正在尝试删除电话号码(999)999-9999中的字面值,使其成为另一个隐藏输入值的9999999999。
这可以使用.val()函数完成,还是只能为隐藏的输入添加更多值?
phone1 =(999)999-9999
手机应具有此值= 9999999999
$('#phone1').bind('keypress blur', function() {
$('#phone').val($('#phone1').val() + ' ' );
});
答案 0 :(得分:5)
使用普通字符串的基本思想
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,"") );
});
答案 1 :(得分:1)
$('#phone1').on('keypress blur', function() {
$('#phone').val(this.value.replace(/[^\d]/g, "") + ' ' );
});
答案 2 :(得分:1)
您需要replace
[MDN] 方法。这将是你为大部分工作做的事情:
$('#phone').val($('#phone1').val().replace(/\D/g, ''));
第一个参数可以是子字符串也可以是正则表达式。在这个例子中,我使用了正则表达式“非数字”。