0

我有一个简单的条件来检查一个 id 是否等于某个东西,并检查它是否是一个数字。我还将 isNumeric 与 .length 组合使用。但由于某种原因,isNumeric 部分无法正常工作,因为我可以输入一串字母并且它无法验证。有任何想法吗?

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

1 回答 1

7

您遇到问题的原因是:

$.isNumeric( $this.val() )

返回trueor false,并且检查布尔值的长度没有意义,因为truefalse永远不会有超过 10 的长度,因为布尔值没有长度,并返回“未定义”?

也许你的意思是:

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 回答