我希望正则表达式获得兴趣。我想接受以下事情:
例如:
0
0.4
0.44
4
44
4.00
44.00
4.2
4.22
44.22
最小0和最大99.99
必须接受数字和十进制值,但不得超过99.99。此外,它应该在第一个或第二个数字后取十进制数,在第三个数字后它应显示错误信息。
我正在尝试这个正则表达式,但它对我来说并不完美。
$.validator.addMethod('interest', function(value, element) {
return this.optional(element) || /\d{1,2}\.?\d{0,4}/.test(value);
}, 'Please specify a valid data');
任何帮助都将不胜感激。
答案 0 :(得分:3)
匹配0到99.99之间所有数字的正则表达式将是:
^\d{1,2}(\.\d{1,2})?$
所以你非常接近,但你的正则表达式在。
之后匹配0到4位数编辑:忘了^$
答案 1 :(得分:3)
如果您只是检查值,为什么要乱用正则表达式:
var input = parseFloat(value)
return !isNaN(input) && input >= 0 && input < 100;
如果你想确保字符串中最多放置2个小数,那么检查会更长一点:
return !isNaN(input) &&
input >= 0 &&
input < 100 &&
!(value.split('.')[1] && value.split('.')[1].length > 2);
答案 2 :(得分:0)
如果你使用正则表达式,你最终会遇到两个问题。尝试:
function validateStuff(input) {
return ($.isNumeric(input) && input >= 0 && input <= 99.99);
}
// Testing:
console.log(validateStuff(5));
console.log(validateStuff("Hello"));
console.log(validateStuff(100));
console.log(validateStuff(99.99));