任何人在输入字段中输入电子邮件时都可能会犯错误。因此,开发人员有责任检查用户是否输入了有效的电子邮件字符串。许多库可用于验证电子邮件地址,我们可以将其与各种 JavaScript 框架一起使用,但不能与普通 JavaScript 一起使用。然而,如果我们想使用任何库,我们就需要使用它的 CDN。
在这里,我们将使用正则表达式在普通 JavaScript 中验证电子邮件地址。
我们在示例 1 中使用了以下正则表达式模式来验证电子邮件。
let regex = /^[a-z0-9]+@[a-z]+\.[a-z]{2,3}$/;
用户可以按照下面对上述正则表达式的解释进行操作。
^ - 它是字符串的开头。
[a-z0-9]+ - 字符串开头的 a 到 z 和 0 到 9 之间的任何字符。
@ - 字符串应在一些字母数字字符后包含“@”字符。
[a-z]+ - 字符串中“@”字符之后的 a 到 z 之间至少有一个字符。
. – 电子邮件应包含点,后跟一些字符,后跟“@”字符
[a-z]{2,3}$ - 它应该在字符串末尾包含两个或三个字母字符。 ‘$’代表字符串的结尾。
在下面的示例中,当用户单击按钮时,它将调用 validateEmail() 函数。在 validateEmail() 函数中,我们使用 JavaScript 的 Prompt () 方法获取用户的电子邮件输入。
之后,我们按照上述语法中的说明创建了正则表达式。我们使用正则表达式通过 test() 方法测试用户的电子邮件输入,该方法根据电子邮件是否与正则表达式匹配返回布尔值。
<html> <body> <h3>Using the <i> Regular expression </i> to validate email in JavaScript </h3> <div id = "output"> </div> <button onclick = "validateEmail()"> Validate any email </button> <script> var output = document.getElementById('output'); function validateEmail() { let userEmail = prompt("Enter your email.", "you@gmail.com"); let regex = /^[a-z0-9]+@[a-z]+\.[a-z]{2,3}$/; let result = regex.test(userEmail); if (result) { output.innerHTML = "The " + userEmail + " is a valid email address!"; } else { output.innerHTML = "The " + userEmail + " is not a valid email address!"; } } </script> </body> </html>
我们在示例 2 中使用了以下正则表达式模式来验证电子邮件。
let regex = new RegExp(/\S+@\S+\.\S+/);
用户可以按照下面对上述正则表达式的解释进行操作。
S+ - 它代表任何字母数字单词。
. – 代表点字符。
基本上,上述模式与 word@word.word 类型的电子邮件地址匹配。
在下面的示例中,我们使用 HTML 创建了电子邮件输入。用户可以在输入字段中输入任何电子邮件。在输入中输入电子邮件后,用户需要单击“验证输入电子邮件”按钮,这将调用submitEmail()函数。
在submitEmail()函数中,我们使用上面的正则表达式和test()方法来检查用户输入的电子邮件字符串。
在输出中,用户可以输入各种电子邮件并观察输出。
<html> <head> <style> div { font-size: 1rem; color: red; margin: 0.1rem 1rem; } </style> </head> <body> <h2>Using the <i> Regular expression </i> to validate email in JavaScript </h2> <div id = "output"> </div> <input type = "email" id = "emailInput" placeholder = "abc@gmail.com"> <br><br> <button onclick = "submitEmail()"> Validate input email </button> <script> var output = document.getElementById('output'); function submitEmail() { let userEmail = document.getElementById('emailInput').value; let regex = new RegExp(/\S+@\S+\.\S+/); let isValid = regex.test(userEmail); if (isValid) { output.innerHTML = "The " + userEmail + " is a valid email address!"; } else { output.innerHTML = "The " + userEmail + " is not a valid email address!"; } } </script> </body> </html>
我们学会了使用正则表达式验证电子邮件字符串。我们已经看到了两个正则表达式并进行了解释,以便初学者可以了解如何为电子邮件创建正则表达式。
此外,开发人员可以根据自己的需要创建自定义正则表达式来验证电子邮件地址。
以上是如何在 JavaScript 中使用 RegExp 验证电子邮件地址?的详细内容。更多信息请关注PHP中文网其他相关文章!