【问题标题】:angular 2 input field validation - 1 alphabet and 8 numbers required (Custom Validation)角度 2 输入字段验证 - 需要 1 个字母和 8 个数字(自定义验证)
【发布时间】:2018-08-30 04:59:18
【问题描述】:

我需要在输入中接受一个字母8个数字(共9个), 我如何验证这一点,如何执行自定义验证 我试过pattern和maxlength,不符合要求

...............   
 <input type="text" name="din"  pattern="^[a-zA-Z0-9_.-]*$"  maxlength="9"  class="form-control" [(ngModel)]="storeData.din" [ngModelOptions]="{standalone: true}"  required> 
................

以我在这方面的知识有限,我找不到一个解决方案。

另外,我如何设置另一个具有 1234-123456 等模式的字段?

【问题讨论】:

    标签: angular validation input


    【解决方案1】:

    如果您需要 1 个字母后跟 8 个数字,您可以尝试以下模式:

    ^[a-zA-Z]{1}\d{8}$
    

    例子:

    https://regex101.com/r/4O59tA/1

    编辑:如果您在任何地方都需要 1 个字母

    您可以保留 maxLenght 属性并将其用于模式:

    ^\d*[a-zA-Z]{1}\d*$
    

    它将精确匹配一个字母,该字母前面有任意位数,后跟任意位数。此 reexeg 不会强制字符串长度为 9 个字符,因此您必须使用 maxLenght 和 minLenght 属性。

    https://regex101.com/r/4O59tA/1

    【讨论】:

    • 感谢您的回答,字母可以出现在 9 个字母输入的任何位置,但只接受 1 个字母
    • 编辑了答案
    • Np,请确保也设置 minLenght
    • 我们如何获得 1234-123456789 ,即只有第 4 个连字符
    • ^\d{4}-\d{9}$ - 4 位数字,然后是连字符,然后是 9 位数字
    猜你喜欢
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多