【发布时间】:2022-01-12 10:27:41
【问题描述】:
我尝试了各种解决方案,但都没有奏效。 JavaScript 不是很好,尤其是 RegEx。 在网上找到了这个解决方案,但无法修改。
基本上我需要在电子邮件字段中允许 EDU 域。我认为应该是@ohio.edu 或@ohio.edu.com 或类似的东西。怎么能说@后面没有“edu”,就不能注册了?
$(".single-memberpressproduct.postid-1945 .mepr-submit").click(function() {
validateEmail(jQuery("input#user_email1").val());
return false;
});
function validateEmail(email) {
var emailRegx = /b(?:(?![_.-])(?!.*[_.-]{2})[a-z0-9_.-]+(?<![_.-]))@(?:(?!-)(?!.*--)[a-z0-9-]+(?<!-).)*.edub/i;
if (emailRegx.test(email)) {
if (email.indexOf('@edu.com', email.length - '@edu.com'.length) !== -1) {
alert('Submission was successful.');
} else {
alert('Not a valid e-mail address @.');
}
} else {
alert('Not a valid e-mail address.');
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<form class="single-memberpressproduct postid-1945">
<input type="text" id="user_email1" value="" />
<input type="submit" class="mepr-submit" />
</form>
【问题讨论】:
-
我给你做了一个sn-p。请更正我对您的 HTML 的任何假设。另外我强烈建议您使用提交事件并使用 event.reventDefault() 而不是单击提交按钮
-
*.edub应该是什么? -
@mplungjan 不确定,我复制了解决方案。你在哪里制作的 sn-p?
-
我在您的问题中添加了您的代码的 sn-p。重新加载页面。如果您在
edub结束您的正则表达式,您将无法匹配 .edu
标签: javascript jquery validation