我正在尝试使用Angularjs验证文本框中的邮政编码和电话号码。但这没用

 <input type="text" class="form-control errorfields" id="postalCode"
 name="postalCode" ng-model="postalCode"
 ng-pattern="/(^(\d{5}(-\d{4})?|[A-CEGHJ-NPRSTVXY]\d[A-CEGHJ-NPRSTV-Z]
  ?\d[A-CEGHJ-NPRSTV-Z]\d)$)||(^[0-9])/"  required>

最佳答案

首先,如mico所指出,在您的正则表达式语法中使用双管道是无效的,并且会破坏您的表达式。

其次,ng-pattern每个输入只能验证一个模式。如果您需要它来验证或验证,则需要走两条路线之一,创建自定义指令,或向控制器添加一些逻辑以确定我们应该检查的表达式,然后使用数据绑定将其传递给ng-pattern。在有角度的世界中,这是不好的做法,因此,最好的选择是发出指令。

09-17 02:09