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

带空格的角电子邮件验证器

公冶经纶
2023-03-14

我正在开发一个新的基于Angular的应用程序,其中包含基于电子邮件和密码的登录表单。

它有一个用于这些字段的表单,由以下行定义:

let formConfig = {
  email: ['', [Validators.required, Validators.email]],
  password: ['', [Validators.required]],
};

this.form =  this.formBuilder.group(formConfig)

它和预期的一样工作,除了一种情况:

用户使用三星(和其他公司)的自动完成来填充电子邮件字段时,它会在电子邮件后插入一个空格,并且Validators.email假定这是一封无效的电子邮件。

我的问题是我如何解决这种特殊情况?

我很确定我可以只添加一些现有的电子邮件验证正则表达式,但我不想重新发明轮子,如果存在验证器,创建另一个看起来很疯狂。

有可能实现某种验证器来修改表单控制值,去掉空格吗?

共有2个答案

慕容成文
2023-03-14

我不明白为什么在使用它做其他事情之前,不使用常规javascript将其正则化。

您可以使用regex / $/在字符串的末尾进行匹配,我将使用/\s{1,}$/以便捕捉任何一个或更多的“空白”字符。有电子邮件验证器,但当然你需要先去掉末尾的空白。

我认为教授regex将超出范围,但这就是我如何处理来自自动完成的杂乱输入。

另一个建议是关闭自动完成功能,这样你就不会得到多余的东西,但那只会惹恼用户(这让我很恼火)..

章建木
2023-03-14

我也有同样的经历。

对于仍然遇到这个问题的每个人;

将< code>type="email"添加到您的< code >

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

  • 我正在用电子邮件和密码设置授权功能。一切正常,但当我创建一个新用户时,应用程序会发送一封带有验证链接的电子邮件。在我验证电子邮件地址后,我想登录,因此我返回登录表单。在我硬重新加载页面后,emial_。有人能帮我吗?

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

  • 如何使用firebase中的验证电子邮件验证使用电子邮件和密码登录的用户?这背后的逻辑是如何工作的,它在代码中会是什么样子? 解决方案/帮助:对于那些仍在寻找答案的人,我找到了这篇文章 堆栈溢出 帖子

  • 我是grails新手,正在用grails开发一个web应用程序。 在我的注册页面中,我正在获取用户的电子邮件ID,并且我需要发送带有身份验证链接的邮件。 http://grails.org/plugin/mail http://grails.org/plugin/email-confirmation 我参考了这些网页和许多其他网页来完成这项任务。但问题是,我的电子邮件没有发送。 我使用过 邮件设置

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