我正在爲AngularJs中的項目創建註冊表單。用戶可以使用他/她的電子郵件/電話註冊。我需要驗證那個特定的文本框。對angularjs中相同文本字段的電子郵件或電話號碼進行驗證
我對兩種不同的文本字段都使用ng-pattern進行驗證。但是,我怎樣才能在一個文本字段中進行驗證?
我已經更新了我的代碼,在這裏: - enter code here
http://plnkr.co/edit/mCVxHxl2DIvqOYtVapRN?p=preview
我正在爲AngularJs中的項目創建註冊表單。用戶可以使用他/她的電子郵件/電話註冊。我需要驗證那個特定的文本框。對angularjs中相同文本字段的電子郵件或電話號碼進行驗證
我對兩種不同的文本字段都使用ng-pattern進行驗證。但是,我怎樣才能在一個文本字段中進行驗證?
我已經更新了我的代碼,在這裏: - enter code here
http://plnkr.co/edit/mCVxHxl2DIvqOYtVapRN?p=preview
使用/^([_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5}))|(\d+$)$/
您可以使用管道 '|'以兩個正則表達式一起:
/<email-pattern>|<phone-pattern>/
所以你最終的正則表達式是:
/^([_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5}))|\d+$/
可以使用角度表單驗證和NG模式指令供輸入使用ng-pattern="/^(?:\d{10}|\[email protected]\w+\.\w{2,3})$/"
var app = angular.module("MY_APP", []);
app.controller("MyCtrl", function($scope) {
$scope.submitted = false;
$scope.submit = function(userData){
\t console.log(userData)
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="MY_APP">
<div ng-controller="MyCtrl">
<form name="userForm" novalidate ng-submit="userForm.$valid && submit(userData)">
<div class="errorMsg" ng-show="submitted==true && userForm.$invalid">
<ul>
<li ng-show="submitted==true && userForm.emailphone.$error" class="errorMsg">
wrong format, It should be email or 10 digit mobile number
</li>
</ul>
</div>
<input type="text" name="emailphone" ng-model="userData.user" id="emailphone" required
ng-pattern="/^(?:\d{10}|\[email protected]\w+\.\w{2,3})$/" />
<button type="submit" ng-click="submitted = true">Submit</button>
</form>
</div>
</div>
使用一個正則表達式是結合了這兩種正則表達式與或:'/^[_a-z0-9]+(\.[_a-z0-9 ] +)* @ [A-Z0-9 - ] +(\ [A-Z0-9 - ] +)*(\ [AZ] {2,5-})$ |。^ \ d + $ /' –