2013-01-05 87 views
0

我有一個驗證手機號碼的驗證碼(如下所示)。它工作正常。但是我面臨的問題是有效的和無效的手機號碼被插入到數據庫中。我只想將有效的手機號碼插入數據庫。Javascript驗證數據庫

代碼如下。任何人都可以提出任何想法來改變代碼?

<script type="text/javascript"> 
    function CheckINumber(INumber) { 
    var INum = /^[+]{1}[0-9]{2}-\d{10}$/; 
    if(INum.test(INumber)) { 
     alert("Your Mobile Number Is Valid."); 
    } else { 
     alert("Your Mobile Number Is Not Valid."); 
    } 
    } 
    <input name="Upload" type="submit" height="25" class="uploadbutton" onClick="CheckINumber(mobile.value);" 
+0

返回FALSE。即在這種情況下關閉其他大括號之前。 –

+0

否則,默認情況下,它會執行進一步的代碼,因爲每個輸入的號碼都是有效的。 –

+1

您還需要在服務器端進行驗證,因爲用戶可以禁用JavaScript並繞過客戶端驗證。 –

回答

0

插入false在無效的情況下,以表示它未能阻止腳本無法繼續。

if(INum.test(INumber)) 
{ 
alert("Your Mobile Number Is Valid."); 
} 
else 
{ 
    alert("Your Mobile Number Is Not Valid."); 
    return false; 
} 
+0

+1正確的答案。但解釋與答案將使它對每個觀看帖子的人都有用,而不僅僅是OP。 – techfoobar

2

您是否在使用表格?如果是這樣,你應該做的:

<form method="post" name="form_name" action="your_submit_url" onsubmit="return(CheckINumber(mobile.value));"> 

另外:後 「無效警報」

function CheckINumber(INumber) 
{ 
    var INum = /^[+]{1}[0-9]{2}-\d{10}$/; 

    if(INum.test(INumber)) { return true; } 
    return false; 
}