使用正则表达式在JSP中进行验证

时间:2014-08-07 15:19:57

标签: javascript regex

我有一个输入字段,我想在进一步传递值之前验证其内容。我正在努力创建一个正确的正则表达式,因为在线编辑器中创建的正则表达式与我的代码无关(实际上它阻止了所有内容)。

所需的正则表达式行为:

只有数字和.,您只能使用.一次作为小数点分隔符,值不能以.开头/结尾,值不能以0开头。

我的代码:

var valueInput = $(row).find("#value").val();
var numbers = /^[0-9.]*$/;
if( !valueInput.match(numbers) ) {
  //do something                 
}

valueInput很好,它可以正确地从输入中获取值。有任何想法吗?

修改。
感谢您的贡献,我想为将来的人们总结一点,寻找答案:

1 的。正则表达式不是一个字符串!我编辑了以前的代码,以确保没有人感到困惑,但是评论摆脱“”是至关重要的,感谢Pointy。

2 的。正则表达式我决定使用is /^([1-9][0-9]*)+(?:\.\d+)?$/。我意识到我还需要处理大小写,当值只有小数部分时,所以它从0开始。我真的不想在这里使用正则表达式,所以我做了一个技巧:如果valueInput以零以外的其他东西开始我验证使用,否则我使用/^[0]{1,1}\.\d{1,2}$/g进行验证。

2 个答案:

答案 0 :(得分:0)

/[1-9](\d+)?(\.\d+[1-9])?/

这是我能想到的最好的。如果这不起作用,请告诉我。

P.S。我发现regexr是测试正则表达式的好地方。欢呼声。

答案 1 :(得分:0)

我会这样做:

valueInput.match(/([1-9]d*)+(?:\.\d+)?$/)