-1

我想检查 Zipcode 文本字段的值是否为 99999,但它现在的写入方式会出错。

完整代码: function validateStep(step){ if(step == fieldsetCount) return;

    var error = 1;
    var hasError = false;
    $('#formElem').children(':nth-child('+ parseInt(step) +')').find(':input.req:not(button)').each(function(){
        var $this       = $(this);
        var valueLength = jQuery.trim($this.val()).length;
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
    var zipAllowed = ['pa', "ca"] ; 

    if(valueLength == "" || $(this).attr('id') =='email' && !emailPattern.test($this.val()) || $(this).attr('id') == 'zipcode' && ($this.val(99999)))   

    {
            hasError = true;
            $this.css('background-color','#FFEDEF');
        }
        else
            $this.css('background-color','#fff');

    });

EmailPattern 检查工作正常,但我似乎不能只为邮政编码分配特定值?

4

1 回答 1

1

表单$something.val('99999')设置值并始终true在条件语句中计算(返回值是 jQuery 对象$something)。

如果您想检查/测试该值,请使用类似if($something.val() === '99999').

您可以通过以下方式检查多个值:

var zip = $zipcode.val();
if (zip == 0 || zip == 12345 || zip == 99999) {
    $zipcode.addClass('error');
} else {
    $zipcode.removeClass('error');
}

请注意,您可能希望==在这种特殊情况下用于比较('00000' == 0为真和'00000' === 0假)。如需进一步阅读,请参阅JavaScript 比较中应使用哪个等号运算符 (== vs ===)?.

于 2013-09-01T22:43:11.773 回答