我必须验证单元格否,我的要求是:
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”..它应弹出{“你输错了号码”}
请告诉我我犯了哪个错误......答案 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;
}