2014-04-03 87 views
0

我試圖讓我的文本字段驗證輸入的文本。目前我告訴它只允許字母a-z和 - 和。驗證文本字段,僅允許字母,' - '和'。'

目前的設置是,如果它的無效,它會引起一個交叉,如果它的有效它會帶來一個勾號。

目前雖然它沒有檢查輸入到文本區域的最小字符和最大字符,但我希望它能夠做到這一點,那麼請有人告訴我如何做到這一點嗎?

到目前爲止,我有這個劇本,但我不知道如何得到它來檢查在該領域的最小和最大的人物,說我希望它有5分鐘和60。

一個最大

我現在的另一個問題是驗證正在工作,如果信件az和 - 都出現了,就會出現一個勾號,如果有人自己放入@或者/它自己就會出現一個十字,但除此之外如果有人輸入'hello @',那麼它也會驗證它,並且提示tick,但@字符不應該被允許。

腳本:

<script> 
function validateCname(CnameField){ 
     var reg = /[A-Za-z\._-]$/; 



     if (reg.test(CnameField.value) == false) 
     { 
      document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails 
      document.getElementById("emailCross").style.display='block'; 
      return false; 
     } 
     if (reg.test(CnameField.value) == true) 
     document.getElementById("emailCross").style.display='none'; 
     document.getElementById("emailTick").style.display='block'; 
     return true; 
} 
</script> 

HTML:

<input type="text" id="field_cname" name="cname" class="field_cname" onfocus="document.getElementById('field_cname').style.background='#ffffff';" onblur="validateCname(this);"> 
<div id="emailCross"></div><div id="emailTick"></div> 

回答

1

更改您的正則表達式:

var reg = /^[A-Za-z\._-]{5,60}$/; 
+0

我沒有downvote,但這個正則表達式是錯誤的.... –

+0

它不工作。 – chris97ong

+0

@ Karl-AndréGagnon,爲什麼? –

相關問題