【问题标题】:Nested Validations in angular 6?角度6中的嵌套验证?
【发布时间】:2020-06-16 23:32:03
【问题描述】:

我想在 Angular 6 中进行验证。它应该包含字母数字字符。字母或数字,仅限 3 到 9 位数字。 如果是数字,则应以 1 开头。

任何人都可以帮助我进行这些验证吗?

Validators.pattern("[^[A-Z a-z | \d 1 ] ]")

Can anybody please help me in this?

【问题讨论】:

  • 试试^(?:1\d{2,8}|[A-Za-z]{3,9})$ regex101.com/r/k8P4oF/1 字母也应该是3-9个字符吗?
  • 创建一个函数并使用 if-else 循环设置标志,并使用延迟代替验证
  • 您可以创建自定义验证器,您可以使用它检查多个正则表达式或条件。
  • @Thefourthbird 是的,字母也应该是 3-9 个字符,如果它以数字开头,它应该只以 1 开头

标签: regex angular


【解决方案1】:

您可以匹配 9 位数字,从 1 开始,后跟 8 位数字 0-9,或者匹配 char a-zA-Z 并使用 alternation 重复 9 次

^(?:1\d{2,8}|[A-Za-z]{3,9})$

说明

  • ^ 字符串开始
  • (?:非捕获组
    • 1\d{2,8} 匹配 1 后跟 2-8 位匹配 3-9 次
    • |或者
    • [A-Za-z]{3,9} 匹配一个字符 a-zA-Z 并重复 3-9 次
  • )关闭群
  • $ 字符串结束

Regex demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多