2

入力フィールドを検証するjquery関数を使用したいと思います。この入力フィールドは、0 で始まる 11 桁の数字を入力するために使用する必要があります。

   function check(mob) {
        var firstnum = mob.substring(1);
        alert(firstnum);
        if (firstnum != "0" || mob.lenght != 11)
            return false;
        else
            return true;
    }
4

6 に答える 6

1

.charAt(0)文字列の最初の文字を取得するために使用する必要があります。.substring(1)文字列の残りから最初の文字を引いたものを返します。

"01234567890".substring(1) = "1234567890"

"01234567890".charAt(0) = "0"

"01234567890".length = 11 (assuming that you have spelled "length" correctly in your code)

編集:数字もチェックする必要があるため、正規表現を使用してこれを確認できます(ただし、チェック全体を正規表現で行うこともできます)

したがって、完成した関数は次のように単純化できます。

function isValidMobile(mobileNumber) {
    return mobileNumber.charAt(0) == 0 && mobileNumber.length === 11 && /^\d+$/.test(mobileNumber);
}

または正規表現なし

function isValidMobile(mobileNumber) {
    return mobileNumber.charAt(0) == 0 && mobileNumber.length === 11 && !isNaN(mobileNumber);
}
于 2013-05-30T07:54:54.027 に答える
1
function check(mob) {
    return mob.substring(0, 1) == '0' && mob.length == 11;
}

文字列メソッド リファレンス

11桁かどうかを確認したい場合は、RegExpを使用する必要があります

function check(mob) {
    return mob.match(/^0\d{10}$/) != null;
}
于 2013-05-30T07:58:10.270 に答える
0
function check(mob) {
  if(!isNaN(mob)){ // or use parseInt
    var firstnum = mob.charAt(0);
    alert(firstnum);

    if (firstnum != "0" || mob.length != 11) {
            return false;
       } else {
            return true;
    } 
  }
}
于 2013-05-30T07:55:56.277 に答える
0

以下のように単純な正規表現を使用してみてください

function check(mob) {
    return /^0\d{10}$/.test(mob)
}
于 2013-05-30T08:13:24.733 に答える
0
if (firstnum >= 1 || mob.lenght <= 11)   //lenght  spell wrong 

への変更

 if (firstnum >= 1 || mob.length<= 11) 
于 2013-05-30T07:51:57.087 に答える
0

あなたはそれを試すことができます

function check(mob) {
    var num = parseInt(mob);
    if (mob+'' == '0'+num  && mob.length == 11)
        return true;
    else
        return false;
}

ここで私がやっていることは0、すべての文字が数字である場合を除いて、parseInt がまったく同じ数字を提供することです。したがって、0携帯電話番号で開始して確認するだけで追加している状態では、一度に 2 つの検証を行います。すべての数字は で始まります0そして次の検証は長さです

于 2013-05-30T08:01:22.990 に答える