我正在尝试使用RegEx验证电话号码。以下是我的要求。 10位数字母/数字,其中Alpha CHAR位于第4位(不包括连字符)。例如:586R410056
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)
我想出了以下RegEx,但它没有以AngularJS形式工作。正则表达式:
^[1]?\s?\(?\d{3}\)?[-.\s]?[a-zA-Z]{1}\d{2}[-.\s]?\d{4}\)?$
以下是plunker
答案 0 :(得分:1)
使用此代码:: 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>