[英]How to validate an email on input field with regex?
我正在创建一个带有验证的 email 表单。 所以我现在所做的可以支持包括@
和.
但是前缀中有一些条件和域名无效,这对我来说应该是有效的。
例如,如果我输入myemail@gmail.com
, my_email@gmail.com
是有效的。 但是,如果我输入my-email@gmail.com
, my.email@gmail.com
, myemail@custom.co.id
它是无效的。 什么是正确的正则表达式才能使 email 模式有效?
$("[name='email']").on("focusout", function(){ let regex = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,5}$/ let getInputValue = $(this).val() if(getInputValue.match(regex)){ $(".error").html("valid email") }else{ $(".error").html("invalid email") } })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" name="email"> <div class="error"></div>
尝试这个
$("[name='email']").on("focusout", function(){ let regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/ let getInputValue = $(this).val() if(getInputValue.match(regex)){ $(".error").html("valid email") }else{ $(".error").html("invalid email") } })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" name="email"> <div class="error"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.