2

我有这个功能来检查文本字段是否只包含数字,如果这个字段中有字母,那么应该显示一个错误

//Tel Validate
function is_valid_tel() {
 $this = $("#inputTel");
 var pattern = new RegExp("^[0-9]*$");
if(pattern.test($this.val())){ // valid
 if ($this.closest(".control-group").hasClass("error"))
  $this.closest(".control-group").removeClass("error");
  $this.siblings(".help-inline").css("display", "none");
return true;
} else { // error
 if (!$this.closest(".control-group").hasClass("error"))
  $this.closest(".control-group").addClass("error");
  $this.siblings(".help-inline").css("display", "block");
  return false;
 }
}

当我在文本字段中输入字母时,我没有抛出任何错误。我的 jquery/javascript 是有限的,但我认为这至少可以工作?因为 reg exp 检查 0-9 之间的数字。我还想检查是否输入了一个数字,那么它是否匹配 11 位数字

任何帮助表示感谢

4

2 回答 2

6

使用这个正则表达式^\d{11}$

旧正则表达式

^字符串开头

[0-9]*0位或更多位

$字符串结尾

新的正则表达式

^字符串开头

\d{11}11 位数字 ( \d== [0-9])

$字符串结尾

于 2013-02-06T09:52:42.637 回答
4

试试下面的正则表达式

var pattern = new RegExp("^[0-9]{11}$");

这是一个更具可读性的版本:

var pattern = new RegExp("^\d{11}$");

您将在此处找到有关特殊字符的方便参考。

于 2013-02-06T09:52:53.990 回答