我是Angular的新手,無法通過ng-pattern驗證基於REGEX的電子郵件地址。實際上,電子郵件的其他默認角度驗證也會更改行爲,並且只有在插入ng模式時整個字段爲空時纔會顯示錯誤。最初嘗試使用指令和控制器,但發現ng-pattern可以實現(理論上)與驗證電子郵件的效果相同,因此決定使用它。使用ng-pattern驗證AngularJS中的電子郵件
我已經使用了幾個REGEX模式,並閱讀ng模式,如:Regex validation of ng-patternForm validationEasy form validation和許多其他鏈接,但沒有任何工作。任何人都可以弄清楚我需要做什麼才能使事情發揮作用?
<form name="userForm" novalidate>
<div class="row">
<div class="large-12 medium-12 small-12 columns">
<label>Username</label>
<input type="email" name="username" placeholder="[email protected]" ng-model="user.username" ng-maxlength="100" ng-model-options="{ updateOn: blur }" ng-pattern = "/^(?("")("".+?(?<!\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))(?([)([(\d{1,3}\.){3}\d{1,3}])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$/" required />
<div class="error-container" ng-show="userForm.username.$dirty && userForm.username.$invalid">
<small class="error" ng-show="userForm.username.$error.required">
Your email is required.
</small>
<small class="error" ng-show="userForm.username.$error.email">
Please input a valid email.
</small>
<small class="error" ng-show="userForm.firstname.$error.maxlength">
Your email cannot be longer than 100 characters
</small>
</div>
</div>
</form>
這個怎麼?:http://stackoverflow.com/questions/46155/validate-email-address-in-javascript – jmunsch
這http://html5pattern.com/Emails – agriboz
謝謝,但也讀了。我真的很想知道如何使它與ng-pattern一起工作,因爲它應該添加相同的功能,但更容易。在你的情況下,我將不得不添加功能到控制器或指令和和 –