根据复选框条件验证输入文本字段(max和min)
validating input text field (max and min) based on checkbox condition
我要做的是基于复选框对输入文本字段应用一些验证,以及是否选中。
情形一:当复选框被选中时,用户只能输入0 ~ 100的数字(包括十进制)。所以34.35是允许的)
案例2:正常数值验证
然而,在Case 1中,我的代码的行为是它只允许用户输入1 nu, 1到9之间的二进制数字。
这是我的代码。
HTML标记elements.stakeInput = $('<input placeholder="0.00" type="text" style="float:right" />');
elements.promoMoneyCheckbox = $('<input type="checkbox" />');
JS
elements.promoMoneyCheckbox.click(function() {
SingleDiv.prototype.validatePromoInputField(self);
});
validatePromoInputField : function(singleDiv) {
var self = this,
elements = singleDiv.getElements(),
promoMoneyCheckbox = elements.promoMoneyCheckbox;
if (promoMoneyCheckbox.is(':checked')) {
elements.stakeInput.attr("placeholder", "10.00");
elements.stakeInput.keypress(function(event) {
var num = parseInt(self.value, 10),
min = 0,
max = 100;
if (isNaN(num)) {
this.value = "";
return;
}
this.value = Math.max(num, min);
this.value = Math.min(num, max);
})
}
else {
elements.stakeInput.attr("placeholder", "00.00");
validateInputs(event, 'decimal')
}
}
function validateInputs(event, typeOfInput) {
event = event || window.event;
if (event.ctrlKey || event.altKey || event.metaKey) return;
var regex;
switch (typeOfInput) {
case 'decimal':
regex = /^[.0-9]$/;
break;
case 'minAndMax':
regex = // May be I could add a regex over here instead of the validating in validatePromoInputField fucntion
break;
default:
regex = /^.$/;
break;
}
var char = getKeypressChar(event);
if (char == null || regex.test(char)) return;
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
}
有什么简单的方法可以做到这一点吗?
我不是在寻找HTML5验证即(输入类型="数字"最小和最大值)。
使用jquery .change()
事件检测输入的变化,parseInt
验证输入
$("#in").change(function(e) {
var val = parseInt($(this).val());
if (!isNaN(val)) {
if (val >= 0 && val < 100) {
$("#out").html("good!");
return;
}
}
$("#out").html("bad!");
});
http://jsfiddle.net/VxM4h/1/请记住,客户端更改是可以更改的。请确保在服务器端也验证您的输入。
相关文章:
- Math.min()和Math.max()之间有什么区别?在Javascript中
- 你如何在Javascript中的对象数组中找到属性的Min和Max
- 如何确定动态区间的极值(min&max)
- jQuery format date min & max date jQuery UI
- AngularJS - input[number] min/max binding
- ng-文件上传验证(ngf-[max|min]-[height|width] 或 ngf 尺寸)似乎没有生效
- 如何格式化Highcharts columnRange以获取温度Min和Max的json数据
- 用jmespath通过两个参数求出min和max
- Javascript var提示进入Array,document.write(Max/Min/Average);
- 为什么Math.min()返回正无穷大,而Math.max()返回负无穷大
- Dc.js /min/max从组每个类别的值
- Jquery range slider:设置滑块1的Max到滑块2的min
- 如何使用min/max-height和height为元素应用响应式CSS高度
- Math.min / max.将设定值应用为新范围的百分比
- 根据复选框条件验证输入文本字段(max和min)
- 为什么禁用表单提交会影响min和max属性?
- 混淆结合数学.max和math.min
- 添加了Javascript数组sum min Max
- 在JavaScript中对CSV数据进行数据操作(fill, min, max)
- 只指定YEAR和MONTH作为输入日期的min/max属性