当前位置: 首页 > 知识库问答 >
问题:

Javascript Regex验证电子邮件ñ字符

彭鸿文
2023-03-14

不久前,我把这个问题发到了收件人的地址上,并得到了我的答案。尽管如此,我还是决定继续使用PHPMailer,我不能对ñ做任何事情,但要排除带有ñ字符的电子邮件,我首先使用html" target="_blank">javascript验证电子邮件,使用我很久以前在这个网站上找到的这个正则表达式,它工作得非常好,但我希望它也排除带有ñ字符的电子邮件。

我很难理解正则表达式,有一次我在stackoverflow上找到了一个很好的解释,但是我丢失了链接。无论如何,以下是我用来验证电子邮件的函数:

function isEmail(email){
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}

为了排除ñ,我想我可以这样做:

function isEmail(email){
var re = /^(([^ñÑ<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}

这适用于像lauromuñ这样的电子邮件oz@mail.com,但如果我在名字和姓氏之间加一个点,像这样,劳罗。穆尼oz@mail.com,它将生效。

我如何修正正则表达式以在电子邮件中的任何位置捕获ñ?

共有1个答案

易成天
2023-03-14

正则表达式看起来不太舒服,我建议使用不同的工具进行解析。解决这一问题的一种方法是在模式前面的字符串^锚点开始之后添加负前瞻。

var re = /^(?!.*[ñÑ]) ... $/

现场演示

 类似资料:
  • 我正在提示我的应用程序用户提供电子邮件凭据。 在用户插入电子邮件并通过后,我想验证该帐户。 我正在使用javax。邮政有没有办法验证帐户?只确保凭据确实有效——否则我想显示一个无效用户并传递消息。 也许是某种表演方式: 并在不发送任何内容的情况下检查身份验证异常。

  • Grails中的电子邮件验证似乎只应用了一个简单的正则表达式。虽然它验证大多数电子邮件,但一些外来的但授权的字符会使验证失败。 例如,德语ß字符用于某些电子邮件地址,但无法通过grail验证: 使用自定义正则表达式进行验证,授权ß将是微不足道的,但如果用户试图在其邮件地址中使用另一个外来但有效的字符,该怎么办? 为了避免这个问题,我想知道Java/Groovy/Grails通用电子邮件地址验证器是

  • 每当我在Firebase中使用电子邮件/密码身份验证提供程序时,提供程序都会在成功注册时发送一个无记名令牌,即使是。是否有一种开箱即用的方法将电子邮件/密码身份验证提供程序配置为在用户验证其电子邮件地址之前不发送无记名令牌(并返回403错误)? 请注意,我知道如何创建用户、登录用户、发送验证电子邮件等。。。使用firebase v9。x通过firebase/auth中的方法创建用户(使用Email

  • 问题内容: 我有这个EditText定义: 注意,EditText具有使用电子邮件地址规范定义的inputType。Android是否内置任何可验证电子邮件地址输入类型的内容,还是都必须手动完成?它允许我输入无效数据,所以我对它的用途感到好奇。 谢谢。 问题答案: 在这里,通过输入电子邮件类型,您可以将电子邮件类型的键盘设置为“ @”和“。”。关键字将显示在键盘上。 更好的解决方案是通过以下功能比

  • 我是Firebase的菜鸟。我要求一种设置电子邮件验证的分步指南。 目前,我的应用程序使用基本电子邮件密码登录。我希望对用户进行验证,以便根据用户的电子邮件验证属性隐藏内容。我正在调用.sendEmailVerification(),它会发送到当前用户的电子邮件,但是,每当我单击电子邮件中的链接时,它都说该链接已过期或有人已使用它,这也不会更改属性。我怀疑这与api管理器有关。我目前已将我的网站托

  • 我有一张登记表,上面有姓名、电子邮件和密码。注册时,会向用户的电子邮件地址发送一个确认链接。但在发送链接之前,我需要验证电子邮件地址。我使用了: 它显示的任何电子邮件都有效,例如, 我从获得的电子邮件并将其存储在中。 我到底要怎么做才能让它成功?