Javascript 逗号分隔电话号码验证
在下面的代码中,我有一个电话号码字段,我想要实现的是确保每个号码都是15位数字,并且确保如果输入了多个电话号码(逗号分隔)(请参阅代码以了解),它们也是15位数字Javascript 逗号分隔电话号码验证,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,在下面的代码中,我有一个电话号码字段,我想要实现的是确保每个号码都是15位数字,并且确保如果输入了多个电话号码(逗号分隔)(请参阅代码以了解),它们也是15位数字 $(“#btn”)。在('click',function()上{ var regexpr=newregexp(“^(?=\S{10,}$)(?=.*\d{15},)*”; //var regexpr=newregexp(“\d{15}(?:,\d{15})*”); //var regexpr=newregexp(“\d{10,15}
$(“#btn”)。在('click',function()上{
var regexpr=newregexp(“^(?=\S{10,}$)(?=.*\d{15},)*”;
//var regexpr=newregexp(“\d{15}(?:,\d{15})*”);
//var regexpr=newregexp(“\d{10,15}(?:,\d{10,15})*”);
//var regexpr=newregexp(“^(\d{15}[,]{0,1})+$”;
//var regexpr=newregexp(“^\+\d{10,15}(,\+\d{10,15})*$”;
//var regexpr=newregexp(“^(?=\S{10,}$)(?=.*\d{15},)*”;
if(!regexpr.test($(“#txt”).val())
{
警告(“请输入否”);
返回false;
}
});代码>
检查
这是您案例的工作正则表达式
^\+\d{10,15}(,\+\d{10,15})*$
下面是您案例的工作正则表达式
^\+\d{10,15}(,\+\d{10,15})*$
我相信最好的正则表达式是
^(?=\S{10,}$)(?=.*\d{15},?).*
请在查看演示
这里
确保字符串的长度至少为10
(?=.*\d{15},?)
如果数字长度为15且以逗号分隔,则负责匹配我相信最好的正则表达式是
^(?=\S{10,}$)(?=.*\d{15},?).*
请在查看演示
这里
确保字符串的长度至少为10
(?=.*\d{15},?)
负责匹配长度为15且以逗号分隔的数字使用/…/
符号定义正则表达式:
$(“#btn”)。在('click',function()上{
var regexpr=/^\d{15}(?:,\d{15})*^/;
if(!regexpr.test($(“#txt”).val()){
日志(“无效号码,重试”);
返回false;
}否则{
控制台日志(“全部正确”)
}
});代码>
选中使用/…/
符号定义正则表达式:
$(“#btn”)。在('click',function()上{
var regexpr=/^\d{15}(?:,\d{15})*^/;
if(!regexpr.test($(“#txt”).val()){
日志(“无效号码,重试”);
返回false;
}否则{
控制台日志(“全部正确”)
}
});代码>
检查
最后我得到了一个解决方案
检查这个答案
var pattern = /^(?:\s*\d{15}\s*(?:,|$))+$/;
if(pattern.test($("#txt").val())){
alert("Correct");
} else {
alert("Wrong");
}
``我终于找到了解决办法
检查这个答案
var pattern = /^(?:\s*\d{15}\s*(?:,|$))+$/;
if(pattern.test($("#txt").val())){
alert("Correct");
} else {
alert("Wrong");
}
``regex中的tilde是怎么回事?您使用的是一种PHP方式来声明regex<代码>~
在PHP PCRE中是有效的正则表达式分隔符,但在JSRegExp
中不是。你正在尝试编写HTML5模式吗?那么,您根本不应该使用正则表达式分隔符。使用pattern=“\d{15}(?:,\d{15})*”
?@cᴏʟᴅsᴘᴇᴇᴅ 您不能在此处使用backreference,它将匹配相同的逗号分隔数字。@Ashish如果数字长度为10到15个字符,您可以尝试使用pattern=“\d{10,15}(?:,\d{10,15})*”
。请确认您正在进行提交验证,该验证仅通过HTML5模式即可实现。这是否涵盖了您需要的内容^(\d{15}[,]{0,1})+$
它验证整个输入,但在最后允许,
(参见fiddle)regex中的tilde有什么问题?您使用的是一种PHP方式声明regex<代码>~
在PHP PCRE中是有效的正则表达式分隔符,但在JSRegExp
中不是。你正在尝试编写HTML5模式吗?那么,您根本不应该使用正则表达式分隔符。使用pattern=“\d{15}(?:,\d{15})*”
?@cᴏʟᴅsᴘᴇᴇᴅ 您不能在此处使用backreference,它将匹配相同的逗号分隔数字。@Ashish如果数字长度为10到15个字符,您可以尝试使用pattern=“\d{10,15}(?:,\d{10,15})*”
。请确认您正在进行提交验证,该验证仅通过HTML5模式即可实现。这是否涵盖了您需要的内容^(\d{15}[,]{0,1})+$
它验证整个输入,但允许在结尾处使用,
(请参阅fiddle)