2015-11-12 72 views
0

我想用RegEx驗證電話號碼。以下是我的要求。 10位Alpha /數字,其中Alpha CHAR位於第4位(不包括連字符)。例如:586R410056RegEx不能正常工作的AngularJS表單驗證

NNN ANN NNNN 
(NNN) ANN NNNN 
NNN-ANN-NNNN 
(NNN) ANN-NNNN 
1NNN ANN NNNN 
1(NNN) ANN NNNN 
1NNN-ANN-NNNN 
1(NNN) ANN-NNNN 
NNN.ANN.NNNN 
(NNN-ANN-NNNN) 

我想出了下面的正則表達式,但它不是在AngularJS形式工作。正則表達式:

^[1]?\s?\(?\d{3}\)?[-.\s]?[a-zA-Z]{1}\d{2}[-.\s]?\d{4}\)?$ 

這裏是plunker

+0

那麼在plunker角甚至沒有初始化,您可能希望從那裏開始。 –

+0

爲您提供的兩種資源:https://docs.angularjs.org/api/ngMessages/directive/ngMessages,及其示例http://plnkr.co/edit/?p=preview。你也應該對角設置形式讀了(具體而言,需要在表中包括的novalidate) –

回答

0

使用此代碼:: DEMO

<form class="form-inline container-fluid" name="userForm" novalidate> 
    <div class="form-group"> 
     <input type="text" class="form-control" ng-model="addBTNWTNModalCotroller.selectedItem.lecBtn" ng-pattern="/^1?\s?\(?\d{3}\)?[-.\s]?[a-zA-Z]\d{2}[-.\s]?\d{4}\)?$/" ng-change="addBTNWTNModalCotroller.onBtnFieldChange()" name="btn" required style="width: 90%;" 
     placeholder="Enter here..."> 
     <div ng-show="userForm.btn.$touched"> 
     <span class="error-text" ng-show="userForm.btn.$error.required"> 
        <span class="icon-ICON_WARNING"></span> BTN is required. 
     </span> 
     <span class="error-text" ng-show="userForm.btn.$error.pattern"> 
        <span class="icon-ICON_WARNING"></span> Please enter valid BTN. 
     </span> 
     </div> 
    </div> 
    </form> 
+0

另一個更新:: http://plnkr.co/edit/G4e7x3ZViUUtDgVax1bq?p=preview –