是否有正则表达式或解决方案测试输入字段是否具有以下条件(例如)
我想测试用户输入只有数字无十进制,大于0且不大于20。基本上我正在为客户端脚本编写一些东西,例如数量添加到购物车中,我想确保(在客户端)他可以放置1到20的任何值,所以0不被接受..数字,1.3等。 ..
是否有插件或正则表达式在客户端为我测试?
不确定如果我做对了吗?这是我的尝试
var re = /^\d+$/;
var str = $(this).val();
if (re.test(str) && str > 0 && str <= 20){
status = 'success';
} else {
status = 'error';
}
答案 0 :(得分:1)
这将有效:
/^([1-9]|[1][0-9]|[2][0])$/
它将匹配1-20。
$(function() {
"use strict";
var limit = /^([1-9]|[1][0-9]|[2][0])$/,
value = "19";
if(limit.test(value)) {
// Will in this example go here.
}
else {
// Do something when it fails.
}
});
答案 1 :(得分:0)
在客户端尝试此正则表达式,
^1?[1-9]$|^[1-2]0$
匹配1到20之间的整数