AngularJS:为字符串字母的前两个字符创建一个正则表达式,其余部分应为数字

时间:2019-04-23 12:16:51

标签: javascript angularjs regex

从来没有真正使用过AngularJS,在解决如何为输入创建正则表达式以检查/只允许前2个字符为字母和其余数字时遇到问题。

希望这很有道理。

使用pugJS

.e-field
    label.e-field__label(for='invoiceNr') Invoice Number
    input#invoiceNumberInput.e-input(
      ng-model='$ctrl.invoiceNumber'
      name="invoiceNumber"
      ng-required="true"

invoiceNr示例:HN123123123

ng模式就是答案。这就是我用的:

ng-pattern="/^[a-zA-Z]{2}[0-9]{6,}$/"

2 个答案:

答案 0 :(得分:0)

前2个字符的正则表达式是数字,其余是数字,angularJS输入如下。使用ng-pattern和指定的RegEX

ng-pattern="/^[a-zA-Z]{2}[0-9]*$/"

答案 1 :(得分:0)

不确定是否已集成到Angular中。但是,作为RegEx,我认为您可以使用:

^[a-zA-Z]{2}[0-9]+$

(请参见测试here

...关于使用..[0-9]+$而不是...[0-9]*$的简短评论

我认为您应该使用+而不是*。否则,类似“ HN”的字符串也将生效,但我知道您只想验证其字母后是否有数字(例如“ HN1”或“ HN123” ..)。对于这种情况,您应该使用“ +”。