回答

收藏

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

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

使用正则表达式JavaScript 验证电子邮件地址的最佳方法是什么?
. L% P3 ^4 c5 ?                                                               
  g/ |1 R  g; n: N, r0 w$ v; J9 C    解决方案:                                                               
8 Q7 ]: ~+ t4 q) r1 S  J                                                                使用正则表达式可能是最好的方法。
/ s& O7 g0 b* R- [# |) m

    8 l2 E" n& W2 `, Q0 E; R5 W6 a
  • 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;6 }3 I8 G) v7 O# R, m; Z
但请记住,不仅要依赖 JavaScript 验证。JavaScript 很容易被禁用。这也应该在服务器端进行验证。4 [# W* a- J! E6 r% `* d0 i
以上操作为例:
/ t9 L1 ]/ r6 h4 x* g7 |; d
    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);
    % g; n$ N2 V7 G
这是html:
/ Q# n: m4 _- E4 f0 p( q  k: M% D* a
    Enter an email address:
    - m! a4 Y7 X9 ^* j- B
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则