逗号分隔的电话号码验证

时间:2017-08-14 08:11:29

标签: javascript jquery html regex

在下面的代码中,我有一个电话号码字段,我想要达到的目的是确保每个号码都是15位数,并确保如果输入多个电话号码(以逗号分隔)(请参阅要了解的代码),也是15位数。

$("#btn").on('click',function(){
var regrExpr = new RegExp("^(?=\S{10,}$)(?=.*\d{15},?).*");
//var regrExpr = new RegExp("\d{15}(?:,\d{15})*");
//var regrExpr = new RegExp("\d{10,15}(?:,\d{10,15})*");
//var regrExpr = new RegExp("^(\d{15}[,]{0,1})+$");
//var regrExpr = new RegExp("^\+\d{10,15}(,\+\d{10,15})*$");
//var regrExpr = new RegExp("^(?=\S{10,}$)(?=.*\d{15},?).*");
				if (!regrExpr.test($("#txt").val())) 
			{
					alert("Please Enter No");
				    return false;
			}
      });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="tel" id="txt" style="width:300px">
<button id = "btn">Check</button>

Regex'ically,我需要这样的东西:

~^[0-15]{15}(?:,[0-15]{15})*$~

Found this here

但是,它在我的情况下不起作用。

4 个答案:

答案 0 :(得分:1)

这是您案例的正常表达。

^\+\d{10,15}(,\+\d{10,15})*$

答案 1 :(得分:1)

我相信最好的正则表达式

^(?=\S{10,}$)(?=.*\d{15},?).*

查看here

上的演示

这里

(?=\S{10,}$)

确保字符串至少为10长度

(?=.*\d{15},?)

负责匹配,如果数字长度为15且以逗号分隔

答案 2 :(得分:0)

使用/.../表示法来定义正则表达式:

$("#btn").on('click',function(){
    var regrExpr = /^\d{15}(?:,\d{15})*^/;
    if (!regrExpr.test($("#txt").val())) {
        console.log("Invalid number, retry");
        return false;
    } else {
        console.log("All correct")
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="tel" id="txt" style="width:300px">
<button id = "btn">Check</button>

答案 3 :(得分:0)

最后我找到了解决方案 检查此答案

var pattern = /^(?:\s*\d{15}\s*(?:,|$))+$/;

if(pattern.test($("#txt").val())){
  alert("Correct");
} else {
  alert("Wrong");
}

``