我有一个输入,只有在输入长度为 11 或 14 时才应该验证。有没有什么方法可以在不创建指令的情况下实现这一点?
还有一件事:
我正在使用将输入格式化为这样的掩码:(
当 11 时)000.000.000-00
(当 14 时)00.000.000/0000-00
模式应该忽略“。” 和 '/'
谢谢。
我有一个输入,只有在输入长度为 11 或 14 时才应该验证。有没有什么方法可以在不创建指令的情况下实现这一点?
还有一件事:
我正在使用将输入格式化为这样的掩码:(
当 11 时)000.000.000-00
(当 14 时)00.000.000/0000-00
模式应该忽略“。” 和 '/'
谢谢。
尝试使用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>
在你的标签中试试这个
ng-pattern="/^[0-9]{1,16}$/" ng-maxlength="16"