1
$('#create_membership').click(function () {
    var zip = $('#zip').val();

    else if (zip == ''){
        errorMessage = "*Zipcode required!";
    }
    else if ((zip.length)< 5 || (zip.length)>5 ){
        errorMessage = "*zipcode should only be 5 digits";
    }
    else if ( zip =( "^[0-9]+$" )){
        errorMessage = "*zipcode should be numbers only";
    }

私は1番目と2番目、つまり郵便番号の空と長さの検証を取得していますが、3番目のケースでは、番号の検証が機能していません。事前に番号の検証を取得するために誰かが助けてくれますか?

4

4 に答える 4

13

これは実際には jQuery 固有のものではありませんが、いくつかの構文エラーがあり、検証ロジックを大幅に簡素化できます。

$('#create_membership').click(function()
{
    var zip = $('#zip').val();

    var zipRegex = /^\d{5}$/;

    if (!zipRegex.test(zip))
    {
        // trigger error
    }
    else
    {
        // success!
    }
});

郵便番号の検証は、必ずしも 5 つの数字をチェックするだけではないことに注意してください。また、どこかでリストを見つけて、入力したものが有効な米国の郵便番号であることを確認します. さらに、4 桁の補助コードも許可したい場合があります。

于 2012-07-13T14:46:21.783 に答える
3

正規表現を関数のように扱う必要があります。それ以外の場合は、値を「zip」に割り当てるだけです。下記参照:

$('#create_membership').click(function () {
  var zip = $('#zip').val();
  var reg = /^[0-9]+$/;
  else if (zip == ''){
  errorMessage = "*Zipcode required!";
  }
  else if ((zip.length)< 5 || (zip.length)>5 ){
  errorMessage = "*zipcode should only be 5 digits";
  }
  else if (!reg.test(zip)){
  errorMessage = "*zipcode should be numbers only";
  }
});
于 2012-07-13T14:42:31.657 に答える
0

次のようなことを試すことができます-jQueryを使用してHTML入力ボックスで数値(0-9)のみを許可する方法は?

正規表現だけが必要な場合は、これを試してください - jquery: validate that text field is numeric

于 2012-07-13T14:42:50.050 に答える
0

番号の検証

var data=$('#zip').val();
var len=data.length;
var c=0;
for(var i=0;i<len;i++)
{
  c=data.charAt(i).charCodeAt(0);
  if(c <48 || c >57)
  {
    $('.error').show();
    event.preventDefault();
    break;
  }
  else
  {
    $('.error').hide();
  }
}
于 2015-06-20T05:27:06.160 に答える