javascript - 验证电子邮件或电话号码

标签 javascript jquery forms validation email

我有一个表单字段,应接受电子邮件或电话号码。我已经有此代码来验证电子邮件地址:

function validateEmail(email) 
{ 
     var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
     return re.test(email);
}

但我还需要验证只能采用这种格式的电话号码:

+XXX XXX XXX XXX || +XXXXXXXXXXXX || XXX XXX XXX || XXXXXXXXX

如何添加该验证,以便验证该格式的电子邮件或电话?对不起,我是一个 javascript 初学者。谢谢!

我已经完成了此错误消息打印:

if(!validateEmail(signup_email))
{
    show_error_msg('error_signup_email','<?php _e( 'Enter a valid email address or a phone number' ); ?>'); 
    jQuery("#signup_email").focus();
    return false;
}
<小时/>

进展: 我添加了一个验证电话号码的功能:

function validatePhone(email)
{
    var re = /^\+?([0-9]{3})\)?[ ]?([0-9]{3})[ ]?([0-9]{3})[ ]?([0-9]{3})$/;
    return re.test(email);
}

并将错误消息编辑为:

if((!validateEmail(signup_email)) || (!validatePhone(signup_email)))
{
    show_error_msg('error_signup_email','<?php _e( 'Enter a valid email address or a phone number', 'Matrix' ); ?>');   
    jQuery("#signup_email").focus();
    return false;
}

但是表单停止打印成功消息,并显示电话号码无效。

最佳答案

删除空格后测试电话号码怎么样?

function validatePhone(phone)
{
    var re = /^(\+\d{3})?\d{9}$/;
    return re.test(phone.replace(/\s+/g, ''));
}

此正则表达式是一个可选的加号前缀和 3 位数字,后跟 9 位数字。

将此与其他一些调整相结合,以下内容已经过测试并有效。

function validateEmail(email) 
{
     var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
     return re.test(email);
}

if(!validateEmail(field) && !validatePhone(field))
{
    show_error_msg('error_signup_email','Enter a valid email address or a phone number');   
    jQuery("#signup_email").focus();
    return false;
}

验证地址http://jsfiddle.net/f2rL3pj0/

关于javascript - 验证电子邮件或电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25836652/

相关文章:

javascript - 如何使用jquery将一个除法附加到一个除法上

javascript - 需要帮助在 JavaScript 中通过 HTML 表单获取和使用用户输入

forms - Symfony2 访问 Twig 中的每个实体字段元素值

javascript - Flow 允许与 object.entries 和字符串连接

javascript - 如何使用 Javascript 创建动态 SRC URL?

javascript - 使用 webkitdirectory 上传目录,是否可以在上传之前过滤掉某些文件?

javascript - 如何在 div 上应用 maskmoney?

javascript - 对数据表中的行分组进行排序

javascript - 使用 Jquery 和 cookie.split 从 cookie 中删除一个值

javascript - 从下拉选择中更改文本字段字体