2017-04-03 15 views
-1

你好我如何添加正則表達式到我的表單驗證我已經做了真正的基本表單驗證下面,只想添加正則表達式來增加安全性的任何想法?小白在JS表單驗證正則表達式使用javascript

<head> 
    <script> 
    function validateForm() { 
    var x = document.forms["login"]["username"].value; 
    if (x == "") { 
    alert("Name must be filled out"); 
    return false; 
    } 
    var x = document.forms["login"]["password"].value; 
    if (x == "") { 
    alert("Password must be filled out"); 
    return false; 
    } 
    } 
    </script> 
    </head> 
+3

如果你的擔心是安全的,你應該在服務器端挑釁地做你的驗證。 –

+0

不,不是真的我只是想測試上述使用正則表達式爲兩個字段的用戶名和密碼...任何想法? – CrazyD

+1

這是一個很好的正則表達式教程[JS正則表達式教程](http://www.regular-expressions.info/javascript.html) –

回答

0
function validateForm() { 
    var x = document.forms["login"]["username"].value; 
    if (!/^\w+$/.test(x)) { 
    alert("Name must be filled out"); 
    return false; 
    } 
    var x = document.forms["login"]["password"].value; 
    if (!/^\w+$/.test(x)) { 
    alert("Password must be filled out"); 
    return false; 
    } 
    } 
+0

可以請你解釋第3行我明白你有一個正則表達式,但是什麼是.test refering to – CrazyD

+0

只是在RegExp中的一個方法,如果匹配結果將返回true,否則返回false – Kerwin

+1

我想你應該閱讀Dieter's中的JS Regex Tutorial評論 – Kerwin

0

Kerwin'answer是檢驗輸入是否爲空。 'test'函數將使用模式測試輸入字符串以查看是否匹配。/^ W + $ /是你想測試對正則表達式,它意味着:

  • 的字符串(由^)
  • 一個或一個以上的字母數字和下劃線字符(開始用\ w + \ w表示字符集[a-zA-Z0-9_]中的一個字符,而+ 表示一個或多個)
  • 然後字符串結束(由$確定,這確保用戶輸入以從上面設置的字符結束,不像空間或新行)