【发布时间】:2016-09-27 10:05:59
【问题描述】:
我有一个输入,我想限制一些电话号码格式,例如
0612352512 或 0125357878
但不是
0025577787 或 +3327487877 或没有别的。
我的正则表达式适用于某些角色,但 0000000000 或 5555555555 总是被接受...
$("#tel").focusout(function(){
var numTel = $(this).val();
// var rgxPhone = /(([0-9]{2})[-. ]?){5}/
var rgxPhone = /(([0-9]{2})){5}/
if ( !numTel.match(rgxPhone)){
$(this).removeClass().addClass("error");
$(".nope").css({
color:'#F70421',
"font-weight":"bold",
display: 'block'
});
$(".oke").css({display: 'none'});
}else{
$(this).removeClass().addClass("ok");
$(".oke").css({
color:'#84BD00',
"font-weight":"bold",
display: 'block'
});
$(".nope").css({display: 'none'});
}
});
input.defaut{
border: #9B9697 1px solid;
}
input.error{
border: #F70421 1px solid;
}
input.ok{
border: #84BD00 1px solid;
}
.nope, .oke{
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for"tel">Numéro de téléphone</label>
<input type="tel" id="tel" name="tel" size="11" maxlength="10" class="defaut check">
<p class="nope">Nope !</p>
<p class="oke">Ok !</p>
你有什么想法吗?
【问题讨论】:
-
/(([0-9]{2})){5}/匹配字符串中任意 2 位数字的 5 次出现。你的规则是什么? -
@WiktorStribiżew 是的,这是一个奇怪的模式。本质上是“偶数位数,最多十位”。
-
你有什么解决办法吗:/?我的规则是从 0 开始接下来是 1、2、3、4、5、6、7、9 然后是 8 位花色
标签: javascript jquery regex validation phone-number