2011-08-22 178 views
5

好吧,我需要一些帮助正则表达式替换在JavaScript中。javascript的正则表达式,只允许数字和逗号

我有这个功能需要每一个,但数字..但我需要允许逗号以及。

function validDigits(n){ 
return n.replace(/\D+/g, '');} 

我仍然很阴沉的正则表达式语法,所以如果任何人都可以帮助我,我将不胜感激。

回答

10
function validDigits(n){ 
    return n.replace(/[^\d,]+/g, ''); 
} 

当您使用方括号和^后开括号你搜索所有不是那些括号内的一个字符,因此,如果您使用此方法,并寻找一切,是不是数字或它应该工作得很好。

+0

好了它。只需在^中加一个逗号即可。谢谢。 – John

0

使用一类的人物:

/[^\d,]+/g 
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')" /> 
相关问题