0

我有一个输入,只有在输入长度为 11 或 14 时才应该验证。有没有什么方法可以在不创建指令的情况下实现这一点?

还有一件事:

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

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

谢谢。

4

2 回答 2

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>

于 2017-09-01T13:15:06.767 回答
0

在你的标签中试试这个

ng-pattern="/^[0-9]{1,16}$/" ng-maxlength="16"
于 2017-09-01T13:26:53.337 回答