我有一个输入字段,我想在进一步传递值之前验证其内容。我正在努力创建一个正确的正则表达式,因为在线编辑器中创建的正则表达式与我的代码无关(实际上它阻止了所有内容)。
所需的正则表达式行为:
只有数字和.
,您只能使用.
一次作为小数点分隔符,值不能以.
开头/结尾,值不能以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
进行验证。
答案 0 :(得分:0)
答案 1 :(得分:0)
我会这样做:
valueInput.match(/([1-9]d*)+(?:\.\d+)?$/)