用javascript替换非数字字符?

用javascript替换非数字字符?,javascript,jquery,regex,Javascript,Jquery,Regex,我使用这个正则表达式进行电话验证 但是当任何人在输入中输入任何特殊字符时。。(除了+)我想用“”(无)替换此字符。 我该怎么做 var phone = /^\+(90)[2-5]{1}[0-9]{9}$/; 这将删除给定字符串中的所有非数字字符: myString = myString.replace(/\D/g,""); \D匹配任何非数字的内容\d匹配一个数字 误读了这个问题。要删除除+之外的所有非数字字符,请执行以下操作: myString = myString.replace(/[

我使用这个正则表达式进行电话验证

但是当任何人在输入中输入任何特殊字符时。。(除了
+
)我想用“”(无)替换此字符。 我该怎么做

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

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

myString = myString.replace(/\D/g,"");
\D
匹配任何非数字的内容<代码>\d匹配一个数字


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

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

但我只想要加号(+),你知道我的电话号码以+90@psygnosis对不起,我误解了你的问题。刚刚用一个将保留+符号的解决方案编辑了此答案。无需在字符组中转义
+
。谢谢。如果我使用相同的代码行,它就起作用了。。仅使用用户名的字母字符myString.replace(/\W/g,“”)是否起作用?能否提供您想要做的示例?
var input = document.getElementById('phone');
input.onkeypress = function(){
    input.value = input.value.replace(/[^0-9+]/g, '');
}