好的,我需要一些javascript中正则表达式替换的帮助。
我有这个功能,除了数字之外每个人都有...但我也需要允许逗号。
function validDigits(n){
return n.replace(/\D+/g, '');}
我对正则表达式语法仍然很混淆,所以如果有人能帮助我,我会非常感激。
答案 0 :(得分:10)
function validDigits(n){
return n.replace(/[^\d,]+/g, '');
}
当您使用方括号和开放括号后面的^时,您搜索的每个字符都不是括号中的一个字符,因此如果您使用此方法并搜索不是数字或逗号的所有字符,它应该可以工作好。
答案 1 :(得分:0)
使用班级字符:
/[^\d,]+/g
答案 2 :(得分:0)
这段代码很棒,你选择你想要的正则表达式模型,如果不允许这个字符,它就被删除了。
<script type="text/javascript">
var r={
'special':/[\W]/g,
'quotes':/['\''&'\"']/g,
'notnumbers':/[^\d]/g,
'notletters':/[A-Za-z]/g,
'numbercomma':/[^\d,]/g,
}
function valid(o,w){
o.value = o.value.replace(r[w],'');
}
</script>
HTML
<input type="text" name="login" onkeyup="valid(this,'numbercomma')" />