检查号码是否采用某种格式

时间:2016-09-29 13:15:26

标签: javascript jquery asp.net regex

我的号码需要采用某种格式:123-12345678。 然后是三个数字,然后是8个数字。

我已经检查过只输入了数字但是如何检查它们是否输入了正确的格式?

function Validate(event) {   
  var regex = new RegExp("^[0-9-]+$");
  var str = String.fromCharCode(!event.charCode ? event.which : event.charCode);
  if (regex.test(str)) {
    return true;
  } else {
    event.preventDefault();
    alert("Character " + str + " is not allowed");
    return false;
  }  
}

每次按键都会调用validate函数:

  <asp:TextBox runat="server" ID="txtNumber" onkeypress="return Validate(event);"></asp:TextBox>

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

^\d{3}-\d{8}$

请勿在提交之前检查onkeypress

答案 1 :(得分:0)

您可以检查输入字符串的子字符串(如果它们是数字或短划线)。即:str.substr(0, 3);我不是大框架的粉丝,但如果你正在使用jquery,你可以使用jQuery.isNumeric作为检查字符串部分的快速解决方案。