我有一个输入,只有在输入长度是11或14时才会生效。 有没有什么方法可以在不创建指令的情况下实现这个?AngularJs验证多个长度的输入长度
还有一两件事:
我使用的格式输入,因为这面具:
(11时) 000.000.000-00
(14时) 00.000.000/0000 -00
该模式应忽略'。'和'/'
谢谢。
我有一个输入,只有在输入长度是11或14时才会生效。 有没有什么方法可以在不创建指令的情况下实现这个?AngularJs验证多个长度的输入长度
还有一两件事:
我使用的格式输入,因为这面具:
(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>
这对我有帮助,但我不得不作一些调整:首先,我只使用'pattern'属性而不是'ng-pattern',因为ng-pattern需要一种表达。 其次,我更新了正则表达式以匹配我输入的两个蒙版。这在巴西帮助CNPJ和CPF很有帮助。 [0-9] {3} \。[0-9] {3} \ - [0-9] {2})|([0 [0-9] {3} \ [0-9] -9] {2} \ [0-9] {3} \ [0-9] {3} \/[0-9] {4} \ - [0-9] {2})$“' – tfuelber
尝试你可以分享你的代码片断这个你标记
ng-pattern="/^[0-9]{1,16}$/" ng-maxlength="16"
这并不回答问题的细节,因为它会接受除11或14以外的长度的条目,并且不处理/和。字符。 –
?因为这是可能的,但我们必须知道你是如何编写代码的 – Vish