2013-08-16 78 views
2

我有以下功能來驗證手機號碼。驗證手機號碼。的用戶

function validate() 
{ 
var a = document.form.mobile_no.value; 
if(a=="") 
{ 
alert("please Enter the Contact Number"); 
//document.form.mobile_no.focus(); 
return false; 
} 
if(isNaN(a)) 
{ 
alert("Enter the valid Mobile Number(Like : 9566137117)"); 
//document.form.mobile_no.focus(); 
return false; 
} 
if((a.length < 1) || (a.length > 10)) 
{ 
alert(" Your Mobile Number must be 1 to 10 Integers"); 
//document.form.mobile_no.select(); 
return false; 
} 

}

我稱從形式作爲功能:

<form action="" method="post" onsubmit="validate()" id="teacher_form"> 

和來自用戶的輸入被取爲:

但這個過程並不驗證結果,因爲它應該。該條目被接受而沒有輸入驗證。

+0

在提交之前是否看到任何'alert()'? –

+0

爲什麼不允許使用「+ 91-9566137117」? – hjpotter92

+0

你如何提交表格? –

回答

0

onsubmit處理程序中添加return false;呼叫。該代碼將是:

<form action="" method="post" onsubmit="validate(); return false;" id="teacher_form"> 

爲了獲得更好的性能和功能的多種用法,通過形式參數:

<form action="" method="post" onsubmit="validate(this); return false;" id="teacher_form"> 

功能將是這樣的:

function validate(x) { 
    var a = x.mobile_no.value; 

你可以看到它在這裏工作:http://jsfiddle.net/h9b8G/

1

你可以使用正則表達式作爲

var regexMobile = /^[0-9]+$/; 
var a = document.form.mobile_no.value; 
if (a.length < 10 || !a.match(regexMobile)) { 
    alert("Enter valid 10 digit Mobile Number"); 
    return false; 
}