0

IDが何かと等しいかどうかをチェックし、それが数値であるかどうかもチェックする単純な条件があります。また、.length の組み合わせで isNumeric を使用しています。しかし、何らかの理由で isNumeric 部分が機能していません。文字列を入力でき、検証されないからです。何か案は?

var $this = $(this);
if(this.id == "userName" && $.isNumeric($this.val()).length < 10 ){
  //do something
}
4

1 に答える 1

7

問題が発生している理由は次のとおりです。

$.isNumeric( $this.val() )

trueまたはを返しfalse、ブール値の長さをチェックしても意味がありません。ブール値には長さがなく、「未定義」を返すため、trueまたは長さが 10 を超えることはないためです。false

多分あなたはこれを意味しました:

if (
    this.id == "userName" 
    && 
    $.isNumeric( $this.val() ) 
    && 
    $this.val().length < 10 
   ){
      // do something if the value is numeric, and the string length is under 10
   }
于 2013-05-13T16:41:41.020 に答える