2016-09-29 75 views
0

我想使用ngpattern在angularjs中驗證電子郵件。我是新來的角,我搜索網絡,我有例子,但我很困惑的語法來設置ngpattern。使用ngpattern的電子郵件的域名驗證

示例代碼:

<!DOCTYPE html> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
 
    <title></title> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script> 
 
</head> 
 
<body ng-app="app"> 
 
    <div ng-controller="controllerName"> 
 
     <ng-form name="mailForm"> 
 
      Email: <input type="text" ng-model="mail" name="mail" ng-pattern="re" /><br /> 
 
      <span ng-show="mailForm.mail.$error.pattern" style="color:red">Please enter correct email address.</span> 
 
     </ng-form> 
 
    </div> 
 
    <script> 
 
    var app = angular.module("app", []); 
 
    app.controller('controllerName', ['$scope', function ($scope) { 
 
     $scope.mail = "[email protected]"; 
 
     $scope.re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 
 
    }]); 
 
</script> 
 
</body> 
 
</html>

在這裏的代碼,我不知道是什麼ngpattern價值的手段。 我想驗證電子郵件地址的域名, 請幫助。

+0

NG模式是有些你從用戶期望進入,如果他進入錯誤的,那麼應該顯示您的錯誤信息 –

+0

字符的這串被稱爲正則表達式,在這種情況下測試,如果字符串匹配輸入有效電郵格式。你應該搜索和閱讀更多關於它的語法。 – Nhan

+0

如果目標是輸入一個電子郵件地址,你想要的不是域名驗證,而是電子郵件地址驗證。你可以通過''來獲得。 ng-pattern記錄在這裏:https://docs.angularjs.org/api/ng/directive/ngPattern。你不明白什麼? –

回答

0

可能是你給錯了模式。 嘗試以下操作:

<div ng-app ng-controller="formCtrl"> 
    <ng-form name="mailForm"> 
     Email: <input type="text" ng-model="mail" name="mail" ng-pattern="re" /><br /> 
    <span ng-show="mailForm.mail.$error.pattern" style="color:red">Please enter correct email address.</span> 
    </ng-form> 
</div> 

function formCtrl($scope){ 
    $scope.re = /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
} 

還要檢查小提琴演示Fiddle

希望它會幫助你!

+0

謝謝你的答案 – harikris

+0

如果它適合你,你可以使它正確的答案,以便它可以幫助別人在計算器上 –