2014-04-03 54 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,为什么? –

相关问题