gpt4 book ai didi

javascript - 如何使用正则表达式确保 `@` 旁边应该只有字母

转载 作者:行者123 更新时间:2023-11-30 11:10:30 25 4
gpt4 key购买 nike

我正在对电子邮件进行正则表达式验证。工作正常,但它允许用户添加 @.xyz.com,但意义不大。我如何确保用户应该只在 @ 符号旁边添加 alphabet

在模式中我添加了 [\w\.] 因为在 @ 之后添加的原因是 @some.xx.com目的。 (用户可以在字母表之后/内部输入 .)

$(function(){

$('#email').on('keyup', function(event){

var email = event.target.value;
var pattern = /^([a-zA-Z]{3,})+@[\w\.]+\.(com|org)$/
if(!email) return false;

console.log(pattern.test(email));

})

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="email" id="email" value="" />

有人帮帮我吗?

最佳答案

因为@后面必须是单词字符,所以只需在@后面用\b加一个单词边界即可。另请注意 . 不需要在字符集中转义,您可以使用 i (不区分大小写)标志,以免重复 [a-zA-Z]:

$('#email').on('keyup', function(event) {
var email = event.target.value;
var pattern = /^([a-z]{3,})+@\b[\w.]+\.(?:com|org)$/i
if (!email) return false;

console.log(pattern.test(email));

})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="email" id="email" value="" />

如果您还想确保输入中的 . 不相邻,请重复 (?:\w+\.)字符集:

$('#email').on('keyup', function(event) {
var email = event.target.value;
var pattern = /^([a-z]{3,})+@(?:\w+\.)+(?:com|org)$/i
if (!email) return false;

console.log(pattern.test(email));

})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="email" id="email" value="" />

关于javascript - 如何使用正则表达式确保 `@` 旁边应该只有字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53909319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com