Php 客户端/服务器端JavaScript中的电子邮件验证
我知道这个问题将会结束,因为我研究了很多这样的例子,但请看我认为我在做一些不同的事情 我用以下代码编写了服务器端PHP电子邮件验证:Php 客户端/服务器端JavaScript中的电子邮件验证,php,javascript,email-validation,Php,Javascript,Email Validation,我知道这个问题将会结束,因为我研究了很多这样的例子,但请看我认为我在做一些不同的事情 我用以下代码编写了服务器端PHP电子邮件验证: if (!filter_var($user_new_email, FILTER_VALIDATE_EMAIL)) { $errors .="Email,"; $pass = false; } 我的客户端电子邮件验证是: function validateEmail(txtEmail){ var
if (!filter_var($user_new_email, FILTER_VALIDATE_EMAIL)) {
$errors .="Email,";
$pass = false;
}
我的客户端电子邮件验证是:
function validateEmail(txtEmail){
var a = document.getElementById(txtEmail).value;
var filter = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{1,4}$/;
if(filter.test(a)){
return true;
}
else{
return false;
}
所以在我的客户端,如果我只输入username@domain(没有.com),它是有效的。我不想那样
我在客户端和服务器端都需要相同的验证。
如何在JavaScript中更新我的正则表达式?使用jquery验证插件它非常易于使用和自定义 例如,Jquery验证插件和定位绝对Jquery验证插件只需转义正则表达式中的最后一个“.”(点)。当未转义或在括号内时,点匹配除新行以外的任何字符。因此,
过滤器
的正确值为:
var filter = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+\.[a-z]{1,4}$/;
@Diego找到了您想要的答案,但有几个原因说明,如果您在javascript中完全验证,这并不重要:
实际上,这与javascript问题中的所有其他验证电子邮件相同。该正则表达式将拒绝我接收电子邮件的完全有效的电子邮件地址。旁注:最后,您可以放置
返回filter.test(a)代码>