1

我是 javascript 的新手。我需要使用 javascript 进行表单验证的认真帮助。这是我需要脚本执行的内容。

当用户填写表格并输入除 20 的倍数以外的数字(如 40、60、80、100)时,他应该收到警报。

示例:如果我在输入字段中输入 45,我会收到类似“您输入的金额无效”的错误。

{别的}

邮寄表格。

4

3 回答 3

2

尝试使用%(模数)运算符

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

于 2012-09-03T11:49:04.157 回答
0

在 jQuery 中

if($('#input_id').val() % 20 != 0)
{
    $('#input_id').val('');
    alert('You have entered an invalid amount.');
} 
else 
{ 
    //success
} 
于 2012-09-03T12:01:05.157 回答
0

@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>

我可以建议你使用%而不是正则表达式吗,因为它更整洁。

于 2012-09-03T11:55:47.433 回答