表单字段验证自定义电子邮件要求
问题描述:
试图在电子邮件文本字段上创建表单验证。 以前曾使用验证来确保生成正确的电子邮件。表单字段验证自定义电子邮件要求
但这里寻求建立一个更自定义规则,只允许在格式.ac.uk
在这里,用户将能够只要提供任何大学/学院/制度中的作为最后6个字符结尾的电子邮件在字符串中= .ac.uk与邮件的一般格式如下:[email protected]
溶液最好在PHP中,目前正在寻找在这个语句中使用的端部采用规则:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
制作这个部分*(\.[a-z]{2,3})
涉及.ac.uk
千恩万谢,感激 Jeanclaude
答
我会首先通过filter_var($email, FILTER_VALIDATE_EMAIL)
运行电子邮件,而不是使用一个简单的正则表达式。这并不完美(我发现一些边缘案例不能正确验证),但效果很好。一旦你知道这是一个有效的电子邮件地址,你可以简单地相信substr($email, -6) == '.ac.uk'
并完成它。例如:
if (filter_var($email, FILTER_VALIDATE_EMAIL)
&& strtolower(substr(trim($email), -6))) === '.ac.uk') {
// Valid
}
你的问题到底是什么?你想让我们写一封符合你要求的电子邮件验证器吗? –