我正在尝试使用ngpattern验证angularjs中的电子邮件。我是角色的新手,我在网上搜索过,我得到了一些例子,但我对设置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 = "visrosoftware@gmail.com";
$scope.re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
}]);
</script>
</body>
</html>
这里的代码我不知道ngpattern值是什么意思。 我正在尝试验证电子邮件地址的域名, 请帮忙。
答案 0 :(得分: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 = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[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
希望它能帮到你!!