希望在电子邮件文本字段上创建表单验证。以前使用过验证,以确保产生正确的电子邮件。
但是这里希望创建一个更自定义的规则,它只允许以.ac.uk格式结尾的电子邮件
在这里,用户可以提供任何大学/学院/学院,只要字符串= .ac.uk中的最后6个字符具有邮件的一般格式,如下所示:email@university.ac.uk
解决方案最好在PHP中使用,目前正在考虑使用此语句中的结尾部分来使用规则:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$使此部分*(\.[a-z]{2,3})与.ac.uk相关
非常感谢,非常感谢让克劳德
发布于 2013-10-06 15:44:29
我会首先通过filter_var($email, FILTER_VALIDATE_EMAIL)运行电子邮件,而不是使用简单的regex。这并不完美(我发现了一些没有正确验证的边缘情况),但效果很好。一旦你知道这是一个有效的电子邮件地址,你可以简单地信任substr($email, -6) == '.ac.uk'并完成它。类似于:
if (filter_var($email, FILTER_VALIDATE_EMAIL)
&& strtolower(substr(trim($email), -6))) === '.ac.uk') {
// Valid
}https://stackoverflow.com/questions/19210624
复制相似问题