回答

收藏

在 JavaScript 中验证电子邮件地址的最佳方法是什么?

技术问答 技术问答 224 人阅读 | 0 人回复 | 2023-09-12

使用正则表达式JavaScript 验证电子邮件地址的最佳方法是什么?
6 Q1 ]- R& Y; A& o9 U& P                                                               
3 d+ B& \/ {! u0 u# s/ [    解决方案:                                                               
; h' L% A3 u1 _2 o                                                                使用正则表达式可能是最好的方法。
5 h9 Q3 y* \5 {+ Z) g; y

      S# p& M& c* Z4 J- [# A9 e
  • const validateEmail = (email) => {  return String(email)    .toLowerCase()    .match(     ^(([^()[\]\\.,;:\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,}))$}code]以下是接受 unicode 正则表达示例:[code]const re =  /^(([^()[\]\.,;:\s@"] (\.[^()[\]\.,;:\s@"] )*)|(". "))@(([^()[\]\.,;:\s@"] \.) [^()[\]\.,;:\s@"]{2,})$/i;$ ]; D& A+ \, ]) P5 B1 l& D
但请记住,不仅要依赖 JavaScript 验证。JavaScript 很容易被禁用。这也应该在服务器端进行验证。
, Z$ K, i2 S$ @/ \3 j. `* N以上操作为例:
( \$ u" _5 u& K/ |' s% ]8 |
    const validateEmail = (email) =>  return email.match(    ^(([^()[\]\\.,;:\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,}))$};const validate = () => {  const $result = $('#result');  const email = $('#email').val();  $result.text('); if (validateEmail(email))    $result.text(email   ' is valid $result.css('color','green   }else    $result.text(email   ' is not valid $result.css('color','red   } return false;}$('#email').on('input',validate);
    + y$ u2 _( o5 D! i7 u
这是html:* Q" ?* }( u7 ~- W( ~; g4 A( Y; r
    Enter an email address:
    - z* u" P3 v+ H6 k
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则