我需要验证电话号码和电话号码。在同一输入字段中的电子邮件地址,如果用户输入字母,则应显示电子邮件验证&如果用户尝试输入电话号码,则应显示电话号码验证。请帮忙解决这个问题。我正在使用此http://1000hz.github.io/bootstrap-validator/
中的bootstrap验证程序答案 0 :(得分:1)
使用jquery进行电子邮件和手机验证.. DEMO
$('#sub').click(function(){
var ep_emailval = $('#email').val();
console.log(ep_emailval);
var intRegex = /[0-9 -()+]+$/;
if(intRegex.test(ep_emailval)) {
console.log("is phone");
if((ep_emailval.length < 9) || (!intRegex.test(ep_emailval)))
{
alert('Please enter a valid phone number.');
//return false;
}
}
else
{
var eml = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
console.log("is email");
if (eml.test(ep_emailval) == false) {
alert("Please enter valid email address.");
// $("#<%=txtEmail.ClientID %>").focus();
//return false;
}
}
});
答案 1 :(得分:1)
听起来上面的答案很好,但也希望传递我的回答。看起来像是一样但可能有更强大的电话号码处理。还有演示jquery表单提交事件处理这是我喜欢的模式。 https://jsfiddle.net/joedonahue/8vasb4nu/9/
<!--HTML-->
<form id="myform" name="myform" action="/echo/html/" method="post">
<input type="text" id="myinput" name="myinput" />
<input type="submit" value="submit" />
</form>
<!--JavaScript-->
/* Get Values */
var i1 = $("#myinput");
/* Map Event Handler */
$("#myform").on("submit",validate);
/* Validate Function */
function validate(){
/* Phone Test */
var filter = /^((\+[1-9]{1,4}[ \-]*)|(\([0-9]{2,3}\)[ \-]*)|([0-9]{2,4})[ \-]*)*?[0-9]{3,4}?[ \-]*[0-9]{3,4}?$/;
if (filter.test(i1.val())) {
alert("true!");
return true;
}
/* Email Test */
var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
if (filter.test(i1.val())) {
alert("true!");
return true;
}
alert("false!");
return false;
}