在下面的代码中,我有一个电话号码字段,我想要实现的是确保每个号码都是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>
正则表达式,我需要这样的东西:
~^[0-15]{15}(?:,[0-15]{15})*$~
但是,这在我的情况下是行不通的。
发布于 2017-08-14 08:26:08
下面是您的案例的工作正则表达式。
^\+\d{10,15}(,\+\d{10,15})*$
发布于 2017-08-14 08:43:50
我相信最好的正则表达式是
^(?=\S{10,}$)(?=.*\d{15},?).*
在here上查看演示
这里
(?=\S{10,}$)
确保字符串的长度至少为10
(?=.*\d{15},?)
如果数字长度为15且以逗号分隔,则负责匹配
发布于 2017-08-14 09:54:31
使用/.../
表示法定义正则表达式:
$("#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>
https://stackoverflow.com/questions/45670120
复制相似问题