我要求验证用户从文本框中退出时输入的电子邮件地址.
我已经google了这个,但我得到了表单验证JScript; 我不想要表单验证.我想要文本框验证.
我写了下面的JScript,但"如果电子邮件无效,它不会返回同一页面".
function validate(email) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//var address = document.getElementById[email].value;
if (reg.test(email) == false)
{
alert('Invalid Email Address');
return (false);
}
}
Run Code Online (Sandbox Code Playgroud)
Ben*_*Ben 54
假设你的正则表达式是正确的:
在你的脚本标签内
function validateEmail(emailField){
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if (reg.test(emailField.value) == false)
{
alert('Invalid Email Address');
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
在您的文本字段中:
<input type="text" onblur="validateEmail(this);" />
Run Code Online (Sandbox Code Playgroud)
首先 - 我推荐来自Hexillion的电子邮件验证器RegEx:http://hexillion.com/samples/
它非常全面 - :
<input type="email" />
Run Code Online (Sandbox Code Playgroud)
我想你想在你的JavaScript中使用一个函数:
<input type="email" pattern=".+@foo.com" />
Run Code Online (Sandbox Code Playgroud)
在HTML输入中,您需要使用onblur触发事件 - 执行此操作的简单方法是简单地添加以下内容:
^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$
Run Code Online (Sandbox Code Playgroud)
当然,这缺乏一些健全性检查,不会进行域验证(必须在服务器端完成) - 但它应该给你一个非常可靠的JS电子邮件格式验证器.
注意:我倾向于使用match()字符串方法而不是test()RegExp方法,但它不应该有任何区别.
结果isEmailValid可用于测试电子邮件的语法是否有效。
var validEmailRegEx = /^[A-Z0-9_'%=+!`#~$*?^{}&|-]+([\.][A-Z0-9_'%=+!`#~$*?^{}&|-]+)*@[A-Z0-9-]+(\.[A-Z0-9-]+)+$/i
var isEmailValid = validEmailRegEx.test("Email To Test");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
217543 次 |
| 最近记录: |