0
$(this).attr('id') == 'zipcode' && $this.value()!=(3, 4, 5)

我在这里尝试做的是调用 id 为“zipcode”的文本输入字段,然后说“如果 zipcode 的值不是 3、4 或 5,那么……等等……”我尝试了很多组合,包括 || 但没有任何效果。我将列出所有可能的邮政编码,并且需要尽可能短的方法。

非常感激。

完整代码:

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}$/; 

if(valueLength == "" || $(this).attr('id') =='email' && !emailPattern.test($this.val()) || $(this).attr('id') == 'zipcode' && $this.value()!=(3, 4, 5))   

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

});
4

5 回答 5

3

一种方法是使用indexOf

var values = [1,2,3,4];
var value = parseInt($(this).val());
if(values.indexOf(value) == -1) {
    //dostuff
}
于 2013-09-02T05:51:52.417 回答
0

我总是喜欢扩展String原型。这是一个例子。

String.prototype.isNot = function() {
    for( var i = 0; i < arguments.length; i++ ) {
        if( this == arguments[i] ) return false;
    }
    return true;
};

然后你可以做

var value = 'something';

if( value.isNot('value1', 'value2') ) // true

if( value.isNot('something') ) // false

如果你不喜欢扩展String.prototype你可以这样做。

var isNot = function( value, args ) {
   for( var i = 0; i < args.length; i++ ) {
       if( value == args[i] ) return false;
   }
   return true;
}

并像这样使用。

var value = 'something';

if( isNot(value, ['value1', 'value2']) ) // true

if( isNot(value, ['something']) ) // false
于 2013-09-02T06:08:55.780 回答
0
//
//  like this
//
function isnoteqto( value /* ...params*/ ) {
    return Array.prototype.slice.call( arguments, 1 ).every( function ( arg ) { return value !== arg; } );
}
//
于 2013-09-02T05:59:53.987 回答
0

这有点短:

$(this).attr('id') == 'zipcode' && $this.value() < 3 && $this.value() > 5

于 2013-09-02T05:52:36.297 回答
-1
$(this).attr('id') == 'zipcode' && !/^(3|4|5)$/.test($(this).val())
于 2013-09-02T05:51:54.037 回答