2017-09-01 8 views
0

入力の長さが11または14の場合にのみ検証する入力があります。 ディレクティブを作成せずにこれを達成する方法はありますか?
(11) 000.000.000-00
(とき14) 00.000.000/0000:AngularJsは複数の長さの入力の長さを検証します

私はこのような入力をフォーマットマスクを使用しています:

もう一つがあります-00

パターンは '。'を無視する必要があります。 「/」

ありがとうございます。

+1

にタグを付けてみてください?これは可能ですが、コードの記述方法を知っていなければなりません。 – Vish

答えて

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

これは助けになりましたが、調整する必要がありました。 最初に、ng-patternには 'ng-pattern'の代わりに' pattern'属性を使用しました。表現。 2つ目は、入力した2つのマスクに一致する正規表現を更新しました。これは、CNPJとCPFのIDのブラジルで役立ちます。 'パターン=" ^([0-9] {3} \。[0-9] {3} \。[0-9] {3} \ - [0-9] {2} [0-9] {3} \/[0-9] {4} \ - [0-9] {2})$ " – tfuelber

0

あなたの中に、これはあなたのコードスニペットを共有することができ

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

これは、11または14以外の長さの項目を受け入れ、/とを処理しないため、質問の詳細には答えません。文字。 –

関連する問題