2014-12-27 3 views
3

에서 정규 표현식을 사용하는어떻게 .. 나는이 코드를 시도 AngularJS와

<script> 
    angular.module('emailExample', []) 
    .controller('ExampleController', ['$scope', function($scope) { 
     $scope.text = '[email protected]'; 
    }]); 
</script> 
    <form name="myForm" ng-controller="ExampleController"> 
    Email: <input type="email" name="input" ng-model="text" required> 
    <span class="error" ng-show="myForm.input.$error.required"> 
     Required!</span> 
    <span class="error" ng-show="myForm.input.$error.email"> 
     Not valid email!</span> 
    <tt>text = {{text}}</tt><br/> 
    <tt>myForm.input.$valid = {{myForm.input.$valid}}</tt><br/> 
    <tt>myForm.input.$error = {{myForm.input.$error}}</tt><br/> 
    <tt>myForm.$valid = {{myForm.$valid}}</tt><br/> 
    <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt><br/> 
    <tt>myForm.$error.email = {{!!myForm.$error.email}}</tt><br/> 
    </form> 

그러나 검증에 문제가 점점. 이메일에 '[email protected]'를 입력하면 오류가 표시되지 않습니다. 이것 좀 도와주세요.

+0

각 이메일 별 개수 dation .. 더 정확한 사용을위한 패턴 사용 –

답변

7

여기에 ng-pattern을 사용하지 않는 이유가 궁금합니다. 당신은 정규 표현식을 내부에 넣을 수 있습니다 ng-pattern.

예 :

<form name="signupFrm"> 

    <input type="email", ng-pattern="emailPattern"> 

</form> 

또는

HTML :

<div ng-class="{'has-error': signupFrm.email.$dirty && signupFrm.email.$invalid}"> 
     <input type="email" placeholder="Email" name="email" ng-pattern="emailPattern" required="required"> 
     <div ng-show="signupFrm.email.$dirty && signupFrm.email.$invalid || signupFrm.email.$error.pattern"> 
      <span ng-show="signupFrm.email.$error.pattern && signupFrm.email.$invalid " class="help-block"> should look like an email address</span> 
      <span ng-show=" signupFrm.email.$error.required" class="help-block">can't be blank</span> 
     </div> 
    </div> 

JS :로 올

$scope.emailPattern = /^([a-zA-Z0-9])+([a-zA-Z0-9._%+-])[email protected]([a-zA-Z0-9_.-])+\.(([a-zA-Z]){2,6})$/; 
+0

이 시도했지만 작동하지 않았다

<스팬 클래스 = "error"ng-show = "myform.email. $ error.pattern"> 이메일이 잘못되었습니다! <입력 유형 = "제출"값 = "제출">

+0

감사의 Ved.Your 코드를 내 문자열을 작동하지 않습니다하지만 노력하고 있습니다. –

+0

같은 접근법을 따라야합니다 .. – Ved