我有这个功能来检查文本字段是否只包含数字,如果此字段中有字母则应显示错误
//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位
任何帮助表示感谢
答案 0 :(得分:7)
使用此正则表达式^\d{11}$
旧正则表达式
^
以字符串
[0-9]*
0位或更多位
$
字符串结尾
新正则表达式
^
以字符串
\d{11}
11位数(\d
== [0-9]
)
$
字符串结尾
答案 1 :(得分:4)
尝试以下RegExp
var pattern = new RegExp("^[0-9]{11}$");
这是一个更具可读性的版本:
var pattern = new RegExp("^\d{11}$");
您会找到有关特殊字符here的便捷参考资料。