我有一個輸入,只有在輸入長度是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