0

我必须验证手机号码,我的要求是:

1.filed 不能为空 2.如果用户输入字母值,它会弹出“不允许使用字母” 3. 字段必须以“+”号开头 4.如果提交的值小于 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;
}

当我输入数值时,某些代码在这里不起作用..当我输入 {+} 符号时,它显示 {"Cell no should start with "+"} 它说当我只输入像 {9} 这样的单个数值时请输入数值它继续前进..虽然这样字段只有2个值“+”和“9”..它应该弹出{“你输入了错误的数字”}

请告诉我我在哪里犯了错误......

4

3 回答 3

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;  
}

一个例子是here

于 2012-04-12T17:02:24.543 回答
0

仅匹配加号和 12 位数字的正则表达式:

function validateForm(){
    var cell = document.reg_form.cellno;
     return  /^\+\d{12}$/.test(cell.value);
}
于 2012-04-12T16:17:13.790 回答
0

如果值长于 13,您将单元格长度与 13 的比较返回 true(和警报)。我怀疑您想要

if(cell.length < 13) 
于 2012-04-12T16:19:15.723 回答