用javascript替换非数字字符?

时间:2011-05-23 12:39:08

标签: javascript jquery regex

我使用这种正则表达式电话验证

但是当任何人在输入中输入任何特殊字符*-/()-_时......(+除外)我想用“”(无)替换这些字符。 我怎么能这样做?

var phone = /^\+(90)[2-5]{1}[0-9]{9}$/;

2 个答案:

答案 0 :(得分:23)

这将删除给定字符串中的所有非数字字符:

myString = myString.replace(/\D/g,"");

\D匹配任何不是数字的东西; \d匹配一个数字。


误读了这个问题。要删除除+以外的所有非数字字符,请执行:

myString = myString.replace(/[^\d\+]/g,"");

答案 1 :(得分:2)

var input = document.getElementById('phone');
input.onkeypress = function(){
    input.value = input.value.replace(/[^0-9+]/g, '');
}