AngularJs验证多个长度的输入长度

时间:2017-09-01 13:10:26

标签: angularjs angular-validation

我有一个输入,只有在输入长度为11或14时才能验证。 有没有办法在没有创建指令的情况下实现这一目标?

还有一件事:

我使用掩码将输入格式化为:
(当11) 000.000.000-00
(14时) 00.000.000 / 0000-00

模式应该忽略'。'和' /'

感谢。

2 个答案:

答案 0 :(得分:1)

尝试使用ng-pattern

 /^([0-9]{11}|[0-9]{14})$/

// Code goes here

var app = angular.module('app', []);
app.controller('FirstCtrl', function($scope) {

});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="FirstCtrl as vm">
  <form name="form">
    <input type="text" name="name" ng-model="name" ng-pattern="/^([0-9]{11}|[0-9]{14})$/">

    <span ng-show="form.name.$error.pattern">Not valid!</span>
  </form>
</div>

答案 1 :(得分:0)

在你的标签中试试

ng-pattern="/^[0-9]{1,16}$/" ng-maxlength="16"