0

セル番号を検証する必要があり、要件は次のとおりです。

1.filedは空であってはなりません2.ユーザーがアルファベット値を入力した場合は「アルファベットは許可されていません」とポップアップします3.フィールドは「+」記号で始まる必要があります4.filed値が13未満の場合はポップアップ「有効なものを入力してください電話番号"

私はこのコードを使用しています。

function validateForm()
{

    var cell = document.reg_form.cellno.value;
            if(cell.length==0) 
            {
                alert("Please enter cell number");
                reg_form.cellno.focus();
                return false;
            }

           if(isNaN(cell)||cell.indexOf(" ")!=-1)
              {
                 alert("Enter numeric value")
                 return false; 
              }


            if (cell.charAt(0)!="+")
              {
                alert("Cell no should start with +");
                return false
              }

                if(cell.length < 13) 
               {
              alert("You have entered wrong number");
              reg_form.cellno.focus();
              return false;
        }
return true;
}

数値を入力すると、ここで一部のコードが機能しません。{+}記号を入力すると、{"セル番号は" +"で始まる必要があります}と表示されます。{9}のように単一の数値のみを入力すると、数値を入力してくださいと表示されます。このようにフィールドには「+」と「9」の2つの値しかありませんが、ポップアップするはずです{"間違った番号を入力しました"}

どこで間違えたのか教えてください。

4

3 に答える 3

0

セルの長さを13と比較すると、値が13より長い場合、true(およびアラート)が返されます。

if(cell.length < 13) 
于 2012-04-12T16:19:15.723 に答える
0

プラス記号と12桁のみに一致する正規表現:

function validateForm(){
    var cell = document.reg_form.cellno;
     return  /^\+\d{12}$/.test(cell.value);
}
于 2012-04-12T16:17:13.790 に答える
0
function validateForm()
{
     var cell=document.reg_form.cellno.value;
     var msg="";
     if(cell.length==0) 
     {
         msg="Please enter cell number";
         alert(msg);
         reg_form.cellno.focus();
         return false;
     }

     if(isNaN(cell)) msg+="\nEnter numeric value";
     if (cell.charAt(0)!="+") msg+="\nCell no should start with +";
     if(cell.length != 13) msg+="\nCell number must be within 13 characters";
     if(msg) 
     {
         alert((msg));
         reg_form.cellno.focus();
         return false;
     }
     return true;  
}

例はここにあります

于 2012-04-12T17:02:24.543 に答える