javascript正则表达式,只允许数字和逗号

时间:2011-08-22 13:52:20

标签: regex

好的,我需要一些javascript中正则表达式替换的帮助。

我有这个功能,除了数字之外每个人都有...但我也需要允许逗号。

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

我对正则表达式语法仍然很混淆,所以如果有人能帮助我,我会非常感激。

3 个答案:

答案 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')" />