正则表达式接受货币符号和' +'标志

时间:2014-09-22 07:22:39

标签: javascript regex

我有一个正则表达式,除了带有小数点的负值和值,但我无法接受','和' +'标志 现在它接受了 123-123-12.312.3 但我希望它接受12,345+123+123.4

这是表达式

 var valid = (input.match(/^-?\d+(?:\.\d+)?$/));
        if(!valid)
         {
        control.value="";
        alert('Invalid Value')
         }

4 个答案:

答案 0 :(得分:1)

[-+]?\d+[.,]?\d+可能就是这样做的。

demo here

PS:这不会验证正确的数字格式。即,1,2也将匹配(根据您的评论,它应匹配)。

答案 1 :(得分:1)

我想你想要这样的东西,

^[-+]?\d+(,\d+)?(?:\.\d+)?$

DEMO

答案 2 :(得分:0)

使用它:

var input = "+123.6"
var valid = (input.match(/^[-+]?[\d,+.]+$/));
if (!valid)
{
  alert('Invalid Value')
}

答案 3 :(得分:0)

试试这个..

var valid = (input.match(/^[-+]?\d+(?:[\.\,]\d+)?$/));
        if(!valid)
         {
        control.value="";
        alert('Invalid Value')
         }

FIDDLE