如何验证细胞数量

时间:2012-04-12 16:08:13

标签: javascript

我必须验证单元格否,我的要求是:

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

有些代码在这里不起作用 当我输入数值..它显示{“单元格不应该以”+“开头} 当我把{+}符号表示请输入数值 当我只输入像{9}这样的单个数值时,它会前进..虽然这样字段只有2个值“+”和“9”..它应弹出{“你输错了号码”}

请告诉我我犯了哪个错误......

3 个答案:

答案 0 :(得分:0)

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

function validateForm(){
    var cell = document.reg_form.cellno;
     return  /^\+\d{12}$/.test(cell.value);
}

答案 1 :(得分:0)

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

if(cell.length < 13) 

答案 2 :(得分: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;  
}

An example is here