2013-04-21 77 views
0

我试图围绕RegExp包裹我的头。我目前有一个表单,我想验证用户输入只是字母,(尽管字母和数字以及空格的例子会有帮助)。我希望从提交按钮中检查此验证。任何人都可以用我的语法/逻辑帮助我吗?也请解释你的答案,以便我可以尝试理解它。如果可能的话,我也希望只保留它,任何有关此事的帮助将不胜感激!用户输入(regExp)的Javascript验证

这里是我的表单代码:

First name: <input type="text" name="firstName" /><br /> 
<span id="firstNameWarnings" style="color:black"> </span> 

<button type="submit" onclick="return validateRegistrationForm()" >Register</button> 

注:我的JavaScript通过主功能运行所有功能。 (提交调用主函数)。 这里是我当前的JavaScript代码:

 function validateFirstName() 
     { 
      var k=document.forms["registration"]["firstName"].value; 
      var vld=new RegExp([A-Za-z]); 

      if(k != vld) 
      { 
       document.getElementById("firstNameWarnings").style.color = "#F00"; 
       document.getElementById("firstNameWarnings").innerHTML = "First name onyl take letters!"; 
       return false; 
      } 
      else 
      { 
       document.getElementById("firstNameWarnings").innerHTML = ""; 
       return true; 
      } 
     } 
+0

请注意,有些人的名字中有空格或连字符或撇号,例如Dac kien或Ann-Marie或La'tanya。就我个人而言,我认为(用英语)使用这样的撇号是对父母方面的一种荒谬的假装,但仍然可怜的孩子不能帮助它,他们应该能够用(撇号)输入他们喜欢的拼写成你的系统。 (我假设你已经允许姓氏字段中的连字符和撇号,例如Smythe-Hamilton和O'Conner的名字?) – nnnnnn 2013-04-21 04:15:32

回答

0

您可以使用此办理登机手续 - if (/^[a-zA-Z]+$/.test(k))

^ - 匹配字符串的开头。

[a-zA-Z] - 范围内的任何字符。

+ - 一次或多次。

$ - 匹配字符串的末尾。