JavaScript中的正则表达式条件验证

时间:2012-11-18 12:43:29

标签: javascript asp.net regex

实际上我正在尝试将验证添加到ASP.NET中的文本框字段。验证就像前2个字符必须是字母和后两个字符数字最大长度为4 ..这是代码块

 function IsValidate(evt) {
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    var Con = String.fromCharCode(charCode);
    var exp= new RegExp("[A-Za-z]{2}[0-9]{2}");
    if(exp.match(Con))
    {
    return true;
    }
    else
    {
    return false;
    }
    }

<asp:TextBox ID="txttest" runat="server" MaxLength="4" onkeypress="return IsValidate(event);"> 
</asp:TextBox>

任何帮助都将受到赞赏......

3 个答案:

答案 0 :(得分:1)

我不是ASP.NET的专家,但快速搜索显示您可以使用RegularExpressionValidator来验证文本字段的内容。

<asp:TextBox ID="txttest" runat="server" MaxLength="4"> 
</asp:TextBox>

<asp:RegularExpressionValidator 
  id="RegularExpressionValidator1" 
  runat="server" 
  ControlToValidate="txttest" 
  ErrorMessage="Your input must be 2 letters followed by 2 numbers" 
  ValidationExpression="^[A-Za-z]{2}[0-9]{2}$">
</asp:RegularExpressionValidator>

有关详细信息,请转到MSDN here

答案 1 :(得分:0)

您正在尝试将单个字符串验证为期望匹配4个字符的正则表达式...

将您的验证移至表单提交的onblur事件。

答案 2 :(得分:0)

只是一些推荐

  • 像这样设置正则表达式“/.... /”
  • 在表达式中定义字符串的开头和结尾
  • 定义修饰符

所以正则表达式会以这样的结尾:

var exp = /^[A-Z]{2}[0-9]{2}$/i

我希望它有所帮助,最好的问候。