回答

收藏

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

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

使用正则表达式JavaScript 验证电子邮件地址的最佳方法是什么?
3 o# o# M3 k! |, N2 N! c2 k5 C                                                               
( K* H+ T2 s% J    解决方案:                                                               
7 F* X0 ~# L$ u3 [  s% m8 d                                                                使用正则表达式可能是最好的方法。
5 q) D, m) @( I0 W( M* a. A

    3 r8 U( c: A4 D# R
  • 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 C# t. }- G: l
但请记住,不仅要依赖 JavaScript 验证。JavaScript 很容易被禁用。这也应该在服务器端进行验证。6 J  Z/ s3 g9 e: I
以上操作为例:$ k: S) s1 Q' f/ G3 X: j: q
    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);
    2 M0 S9 n$ `6 C2 _- L4 K) N9 ]
这是html:
! o/ b7 R" a$ B* o' |! H
    Enter an email address:
    ' s7 W% u& z8 a& M, e/ }/ T! g
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则