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

Angular 2反应式表单“模式”验证器不工作

夏侯承恩
2023-03-14

我定义了以下验证:

            Validators.pattern("/^[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]$/")]]

它用于验证邮政编码,但当我输入字符串“K1K1A1”时,验证器说它无效。

我的正则表达式怎么了?

共有1个答案

常雪风
2023-03-14

验证器。pattern()看起来像:

if (typeof pattern === 'string') {
  regexStr = `^${pattern}$`;
  regex = new RegExp(regexStr);
} else {
  regexStr = pattern.toString();
  regex = pattern;
}

因此,只需删除斜杠和^$字符以适应角度。或者您还删除引号,javascript将您的表达式作为RegExp类型。

 类似资料:
  • 我正在从动态JSON值创建一个自定义的反应式表单,试图将用户在输入框中输入的字符隐藏为星号符号, 示例:假设用户正在键入“你好世界”。 预期输出:*********,当用户键入每个字符时应该会出现此输出 还将有模式验证,如仅字母和仅数字, 我已经实现了上述预期输出,但验证没有按预期工作 编码我尝试过的内容

  • 我试图建立一个注册表格使用角6反应形式。 } 我如何进行验证,以便允许: < li >数字 < li >大写字母 < li >小写字母 < li >任何特殊字符 < li >最少8个字符 我使用的这个正则表达式工作正常,但是我不能使用任何其他特殊字符,例如我尝试了< code>Demoo123#但是没有工作。然而< code>Demoo123@运行良好。我假设我的正则表达式中的特殊字符部分有问题。

  • Angular 2提供了开箱即用的许多验证器。 它们可以与其余的依赖关系一起导入。 app/login-form.component.html <div> <label for="username">username</label> <input type="text" name="username" id="username"

  • 让我们假设使用相同的登录表单,但现在我们还要测试我们的密码在其中某处有感叹号。 app/login-form.component.ts 一个简单的函数接受实例,并返回null如果一切都很好。 如果测试失败,它返回一个具有任意命名属性的对象。 属性名称将用于.hasError()测试。 app/login-form.component.ts <!-- ... --> <div [hidden]="!

  • 我在angular中创建了一个表单,要求名称字段只包含字母数字字符和空格。为此,我使用了模式属性: 并且我有以下错误消息,我想在字符串不匹配时显示: 然而,即使字符串应该与正则表达式匹配,我仍然可以看到错误消息。有什么想法吗?

  • 问题内容: 以下是React中的反模式吗?我喜欢这种模式,因为当实例化一个组件时,它在静态函数中为我提供了上下文。然后,我可以导入该类并调用静态方法来修改状态。还是可以通过更好的方式来完成? 问题答案: 显然,这取决于条件,可能是一种反模式,也可能是一个错误。静态类方法不应与类实例一起使用。绑定到特定的组件实例和用途,这只能证明类是单例是合理的(尽管单例也经常是反模式)。如果期望有多个类实例,那么