检查瑞典字母的正确电子邮件格式

问题描述:

我正在制作一个网站,其中有一个形式获得在PHP验证。 当人们发布表单时,电子邮件会被发送到$ email变量,并检查正确的格式。然而,我还没有找到一段代码来检查格式是否正确(如果它的有效并不重要),我已经找到了phps自己的函数,但它没有检查瑞典语字母,我还发现了另一个函数它会检查邮件格式,但如果您有格式为[email protected]的电子邮件,则会中断。它只适用于格式为[email protected]检查瑞典字母的正确电子邮件格式

我非常感谢任何帮助,使这项工作,并找到一个功能的作品。

+0

你需要瑞典人物:[email protected] ?或两者 – 2014-10-09 10:24:10

+0

它应该检查正确的语法,并能够处理瑞典语字母以及英语 – Krysvac 2014-10-09 11:08:13

+0

这是我的解决方案下面的东西! – 2014-10-09 11:17:40

任何代码,你可以使用这个正则表达式:

if(preg_match("/^\b[A-ZÅÄÖåäö0-9._%+-][email protected][A-ZÅÄÖåäö0-9.-]+\.[A-Z]{2,4}\b$/i",$email)){ 
     //mail is valid 
} 

这将验证youråäö@adressö.se等

+0

以及[email protected]和其他国家/地区的情况如何?瑞典信件的问题不仅仅是瑞典信件 – 2014-10-09 10:33:09

+0

您认为上述解决方案的问题是什么? – 2014-10-09 10:35:12

+0

\。[A-Z] {2,4} \ b $不支持.company,.coffee,..construction等所有新域名。俄语,日语和国家区域,如。移动和.РФ – 2014-10-09 10:39:30

我个人建议你在客户端验证表单(即)使用javascript或jquery 如果所有表单验证都被传送到服务器,服务器负载将会增加,并且因为无效条目而重新提交。对于电子邮件验证

jQuery代码:

function ValidateEmail(email) { 
    var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; 
    return expr.test(email); 
}; 

$("#id").blur(function(){ 

    if(!ValidateEmail($("#id").val())){ 
     //your code 
    } 
    else { 
     //your code 
    } 
}) 
+1

你永远不要相信最终用户。验证客户端可以很好地帮助用户纠正错误类型的条目。但你应该始终验证服务器端! – 2014-10-09 10:29:56

单一的东西,你可以在电子邮件地址检查是它所包含@。检查,没有发现任何地方