Javascript 如何验证文本框以检查输入的值是否仅为100的倍数
我想使用jQuery验证用户在文本框中输入的值是否是100的倍数。如何执行此操作?用于检查余数是否为0 正如poweroy所说,这是一个模(参见他的链接)。这只是个百分号。它所做的是返回除法的剩余部分 如Javascript 如何验证文本框以检查输入的值是否仅为100的倍数,javascript,jquery,Javascript,Jquery,我想使用jQuery验证用户在文本框中输入的值是否是100的倍数。如何执行此操作?用于检查余数是否为0 正如poweroy所说,这是一个模(参见他的链接)。这只是个百分号。它所做的是返回除法的剩余部分 如 这将检查匹配的元素值是否为100的倍数,并将结果(true或false)存储在multiple: $("#example").change(function() { var multiple = parseInt($(this).val(), 10) % 100 == 0; });
这将检查匹配的元素值是否为100的倍数,并将结果(
true
或false
)存储在multiple
:
$("#example").change(function() {
var multiple = parseInt($(this).val(), 10) % 100 == 0;
});
请注意,这将导致0
返回true
,因此您可能需要为此添加签入
这是一个例子。有关模运算符的详细信息,请参见
更新(基于评论)
正如@PaulPRO在评论中所指出的,对于诸如100.973之类的数字,上述值也将返回true。如果要处理浮点数和整数,只需使用parseFloat
而不是parseInt
。下面是另一个,下面是一些更新的代码:
$("#example").change(function() {
var multiple = parseFloat($(this).val()) % 100 == 0;
});
像这样的东西对你有用:
var input = document.getElementById('mult-100');
if(input.value.match(/^[1-9]\d*00$/))
return false;
// Not a multiple of 100
alert('Please enter a multiple of 100');
试试这个:
$('#your_input_selector').keyup(function(){ alert('100 multiple? ' $(this).val() % 100 == 0)});
有很多有趣的方式。让我们收集输入值本身:
var input = $('#textbox').val();
因此,方法:
if (parseInt(input,10) % 100 === 0)
if (input.substr(-2)==='00')
if (input.match(/[1-9]+00$/))
if ((input.search(/\s*\d+0{2}\s*$/)==-1?"false":"true" !== "false"))
但如果我是你,我会选择第一条路 不确定它是否与OP有关,但100.973也将被认为是有效的。@PaulPRO-好的观点。我已经用另一种方法更新了答案。酷:)+1这也会接受像
“100美元”
这样的字符串作为有效字符串,但可能OP希望这样。嗯。另一个好观点+为您的答案添加1,以获得更严格的替代方案!我不知道为什么这会被否决——我本以为只要“modulo”一词就足以让提问者明白这一点。事实上,我甚至提供了一个JS示例。
if (parseInt(input,10) % 100 === 0)
if (input.substr(-2)==='00')
if (parseInt(value,13) % parseInt('79',13) === 0)
if (input.match(/[1-9]+00$/))
if (input.match(/\s*\d+0{2}\s*$/))
if ((input.search(/\s*\d+0{2}\s*$/)==-1?"false":"true" !== "false"))