在使用javascript的输入字段中,只接受20的倍数(例如40,60,80)
Accept only multiples of 20 (Ex. 40,60,80) on an input field using javascript?
我是javascript的新手。我需要认真帮助使用javascript进行表单验证。以下是我需要的脚本。
当用户填写表格并输入20的倍数以外的数字时(如40,60,80100),他应该会收到警报。
示例:如果我在输入字段上输入45,我会得到一个错误,比如"你输入了一个无效的金额。"
{else}
张贴表单。
尝试使用%
(模数)运算符
if ((+([value of inputfield])||1)%20 === 0) { /* is multiple of 20 */ }
// ^convert to Number ^
// ^if conversion fails, use 1 for value
// (so %-operation will not fail)
请参阅此jsfiddle以获得一个简单的示例
在jQuery 中
if($('#input_id').val() % 20 != 0)
{
$('#input_id').val('');
alert('You have entered an invalid amount.');
}
else
{
//success
}
@Kooilnc是正确的,但这里有一个更完整的解决方案:http://jsfiddle.net/nottrobin/vN3xK/
<form name="numberForm">
<input type="number" name="number" />
<button type="submit">submit</button>
</form>
<script>
// NB: jQuery is required
jQuery('[name="numberForm"]').bind(
'submit',
function(evt) {
if(jQuery('[name="number"]').val() % 20 != 0) {
alert('Your number is wrong');
evt.preventDefault();
}
}
);
</script>
我可以建议您使用%
而不是regex吗,因为它要整洁得多。
相关文章:
- 将javascript应用程序迁移到使用AMD的提示(例如requirejs)
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- 在使用javascript的输入字段中,只接受20的倍数(例如40,60,80)
- 在Node.js中,我在哪里可以看到JavaScript方法的源代码,例如hasOwnProperty
- 仅将JavaScript应用于部分代码(例如菜单)
- 监视JavaScript输出,例如console.log()
- 反向名称的JavaScript函数不能正确工作(例如学习JavaScript-O'Reilly)
- Javascript:如何对属性变量(例如var.hello.push)执行数组方法?太习惯AS3了
- 确保Javascript支持多个库(例如Angular 1.5,jQuery 2.2.0,ckEditor 4.x,pd
- TypeScript - 如何获取 HTML 元素,例如在 Javascript 中使用美元符号 ($)
- 在替换之前,操作javascript正则表达式匹配,例如$1
- 基于类的语言(如Java或Python)和基于原型的语言(例如Javascript)之间的区别
- 如何在javascript中创建看起来像点符号的自定义函数?例如str.getFirstIndex();
- 如何将外来字符(例如æ)从PHP数组传递到javascript数组
- JavaScript:不允许Web Worker使用(例如)XmlHttpRequest
- Javascript模糊时间(例如'10分钟前');s精确到几秒钟
- Javascript日期允许使用无效数据(例如2月30日)
- 如何在javascript中将字符串值(例如:双值)转换为百分比
- 弱类型语言类型转换的意思在哪里,为什么使用.例如JavaScript
- 使用 javascript 更改标题中的文本,例如幻灯片