답변:
이를 위해 일반적인 오래된 자바 스크립트를 사용할 수 있습니다.
function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
하는 var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
등 새로운 TLD의 같은 .museum, 지원
이메일을 검증하는 jQuery 함수
특히 양식에 유효성 검사가 필요한 필드가 하나만있는 경우 플러그인을 사용하고 싶지 않습니다. 이 기능을 사용하여 전자 메일 양식 필드의 유효성을 검사해야 할 때마다 호출합니다.
function validateEmail($email) {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
return emailReg.test( $email );
}
그리고 지금 이것을 사용
if( !validateEmail(emailaddress)) { /* do stuff here */ }
건배!
emailReg.test($email);
emailReg.text("")
true
. 나는 단순히 emailReg var의 선언에 따라 함수를 작성했다.return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
에var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
몇 가지 이유로 jQuery 유효성 검사 플러그인 을 사용합니다 .
당신은 확인, 좋아, 지금 무엇? 오류를 표시하고, 유효 할 때 지우기를 처리하고, 총 오류 수를 표시해야합니까? 휠을 다시 발명 할 필요가없는 많은 것들이 당신을 위해 처리 할 수 있습니다.
또한, 또 다른 큰 이점은 그것이 CDN에 호스팅이며, 현재 버전 이 답변의 시간을 여기에서 찾을 수 있습니다 : http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx를 이 수단 빠른로드 시간을 클라이언트에 대한.
에서 봐 HTTP : //bassistance.de/jquery-plugins/jquery-plugin-validation/ . 양식에 대한 강력한 유효성 검사 시스템을 구축 할 수있는 멋진 jQuery 플러그인입니다. 여기에 유용한 샘플이 있습니다 . 따라서 전자 메일 필드 유효성 검사 형식은 다음과 같습니다.
$("#myform").validate({
rules: {
field: {
required: true,
email: true
}
}
});
세부 사항 및 샘플 은 이메일 방법 문서 를 참조하십시오 .
x@x
(이상한 것입니다) x@x.x
어떻게 수정해야합니까?
$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
<script type="text/javascript">
$(document).ready(function() {
$('.form_error').hide();
$('#submit').click(function(){
var name = $('#name').val();
var email = $('#email').val();
var phone = $('#phone').val();
var message = $('#message').val();
if(name== ''){
$('#name').next().show();
return false;
}
if(email== ''){
$('#email').next().show();
return false;
}
if(IsEmail(email)==false){
$('#invalid_email').show();
return false;
}
if(phone== ''){
$('#phone').next().show();
return false;
}
if(message== ''){
$('#message').next().show();
return false;
}
//ajax call php page
$.post("send.php", $("#contactform").serialize(), function(response) {
$('#contactform').fadeOut('slow',function(){
$('#success').html(response);
$('#success').fadeIn('slow');
});
});
return false;
});
});
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if(!regex.test(email)) {
return false;
}else{
return true;
}
}
</script>
<form action="" method="post" id="contactform">
<table class="contact-table">
<tr>
<td><label for="name">Name :</label></td>
<td class="name"> <input name="name" id="name" type="text" placeholder="Please enter your name" class="contact-input"><span class="form_error">Please enter your name</span></td>
</tr>
<tr>
<td><label for="email">Email :</label></td>
<td class="email"><input name="email" id="email" type="text" placeholder="Please enter your email" class="contact-input"><span class="form_error">Please enter your email</span>
<span class="form_error" id="invalid_email">This email is not valid</span></td>
</tr>
<tr>
<td><label for="phone">Phone :</label></td>
<td class="phone"><input name="phone" id="phone" type="text" placeholder="Please enter your phone" class="contact-input"><span class="form_error">Please enter your phone</span></td>
</tr>
<tr>
<td><label for="message">Message :</label></td>
<td class="message"><textarea name="message" id="message" class="contact-input"></textarea><span class="form_error">Please enter your message</span></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" class="contactform-buttons" id="submit"value="Send" />
<input type="reset" class="contactform-buttons" id="" value="Clear" />
</td>
</tr>
</table>
</form>
<div id="success" style="color:red;"></div>
<!-- Dont forget to include the jQuery library here -->
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#validate").keyup(function(){
var email = $("#validate").val();
if(email != 0)
{
if(isValidEmailAddress(email))
{
$("#validEmail").css({
"background-image": "url('validYes.png')"
});
} else {
$("#validEmail").css({
"background-image": "url('validNo.png')"
});
}
} else {
$("#validEmail").css({
"background-image": "none"
});
}
});
});
function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}
</script>
<style>
#validEmail
{
margin-top: 4px;
margin-left: 9px;
position: absolute;
width: 16px;
height: 16px;
}
.text
{
font-family: Arial, Tahoma, Helvetica;
}
</style>
<title>Live Email Validation with jQuery Demo</title>
</head>
<body>
<div class="text"><h1>Reynoldsftw.com - Live Email Validation</h1><h2>Type in an email address in the box below:</h2></div>
<div><input type="text" id="validate" width="30"><span id="validEmail"></span></div>
<div class="text"><P>More script and css style
출처 : htmldrive.com
Verimail.js를 추천 하고 JQuery 플러그인도있다 .
왜? Verimail은 다음을 지원합니다.
따라서 Verimail.js는 유효성 검사 외에도 제안 사항을 제공합니다. 따라서 일반적인 전자 메일 도메인 (hotmail.com, gmail.com 등)과 매우 유사한 잘못된 TLD 또는 도메인이있는 전자 메일을 입력하면이를 감지하여 수정을 제안 할 수 있습니다.
예 :
등등..
jQuery와 함께 사용하려면 사이트에 verimail.jquery.js 를 포함 시키고 아래 함수를 실행하십시오.
$("input#email-address").verimail({
messageElement: "p#status-message"
});
메시지 요소는 메시지가 표시 될 요소입니다. 이것은 "이메일이 유효하지 않습니다"에서 "의미 되었습니까?"까지 모든 것이 될 수 있습니다.
양식이 있고 이메일이 유효하지 않으면 제출할 수 없도록 제한하려는 경우 아래에 표시된대로 getVerimailStatus-function을 사용하여 상태를 확인할 수 있습니다.
if($("input#email-address").getVerimailStatus() < 0){
// Invalid
}else{
// Valid
}
이 함수는 Comfirm.AlphaMail.Verimail.Status 객체에 따라 정수 상태 코드를 반환합니다. 그러나 일반적으로 0 미만의 코드는 오류를 나타내는 코드입니다.
.getVerimailStatus()
숫자 상태 코드, 단지 문자열의 값을 반환하지 않습니다 success
, error
가능성 또는 pending
(마지막 하나를 확인하지 않았다).
function isValidEmailAddress(emailAddress) {
var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;
return pattern.test(emailAddress);
};
if( !isValidEmailAddress( emailaddress ) ) { /* do stuff here (email is invalid) */ }
이것은 사용자가 제공 한 루카 Filosofi 이 대답 이 답변
@
다른 @
문자로 문자 를 이스케이프 처리하는 것을 잊지 마십시오 . 따라서 @@
그렇지 않으면 빌드 오류가 발생합니다.
매우 간단한 해결책은 html5 유효성 검사를 사용하는 것입니다.
<form>
<input type="email" required pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}">
<input type="submit">
</form>
이는보다 철저한 유효성 검사를 수행합니다 (예 : john..doe @ example.com과 같은 사용자 이름의 연속적인 점을 검사 함)
function isValidEmail(email)
{
return /^[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}$/.test(email)
&& /^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*/.test(email);
}
JavaScript에서 정규식을 사용하여 이메일 주소 확인을 참조하십시오 .
다른 사람들이 언급했듯이 정규식을 사용하여 전자 메일 주소가 패턴과 일치하는지 확인할 수 있습니다. 그러나 패턴과 일치하는 전자 메일을 계속 가질 수 있지만 여전히 스팸 전자 메일이거나 반송됩니다.
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
이메일 주소가 실제이고 현재 활성화되어 있는지 확인하는 API를 사용할 수 있습니다.
var emailAddress = "foo@bar.com"
response = $.get("https://isitarealemail.com/api/email/validate?email=" +
emailAddress,
function responseHandler(data) {
if (data.status === 'valid') {
// the email is valid and the mail box is active
} else {
// the email is incorrect or unable to be tested.
}
})
자세한 내용은 https://isitarealemail.com 또는 블로그 게시물을 참조 하십시오
기본 양식이 있다면 입력 유형의 이메일을 만드십시오.
<input type="email" required>
이것은 HTML5 속성을 사용하는 브라우저에서 작동하며 JS가 필요하지 않습니다. 위의 스크립트 중 일부와 함께 이메일 유효성 검사를 사용하는 것만으로는 그다지 중요하지 않습니다.
some@email.com so@em.co my@fakemail.net
등 ... 모두 "실제"이메일로 확인됩니다. 따라서 동일한 주소를 입력하기 위해 사용자가 자신의 전자 메일 주소를 두 번 입력해야하는 것이 더 나을 것입니다. 그러나 전자 메일 주소가 실제임을 확인하는 것은 매우 어렵지만 방법. 그러나 이메일인지 확인하려면 HTML5 입력을 사용하십시오.
FireFox 및 Chrome에서 작동합니다. 인터넷 익스플로러에서는 작동하지 않을 수 있습니다 ... 그러나 인터넷 익스플로러는 짜증납니다. 그럼 ...
Fabian의 답변을 사용하면서 내가 겪은 문제는 면도기 @
기호로 인해 MVC보기로 구현하는 것입니다 . @
이스케이프 하려면 추가 기호 를 포함시켜야합니다 .@@
function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
이 페이지의 다른 곳에서는 볼 수 없었으므로 도움이 될 것이라고 생각했습니다.
다음은 사용법을 설명하는 Microsoft 의 링크 입니다.
방금 위의 코드를 테스트하고 다음 js를 얻었습니다.
function validateEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
정확히해야 할 일을하는 것입니다.
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
됩니다. 코드에 무슨 일이 있습니까?
@
의 정규 표현식에서 기호를 생성합니다 .cshtml
. 일반적으로 @
심볼 뒤의 모든 것을 면도기 코드로 취급하려고 하지만 이중 @@
은 그것을 방지합니다.
function isValidEmail(emailText) {
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
return pattern.test(emailText);
};
이렇게 사용 :
if( !isValidEmail(myEmail) ) { /* do things if myEmail is valid. */ }
<script type = "text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type = "text/javascript">
function ValidateEmail(email) {
var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
return expr.test(email);
};
$("#btnValidate").live("click", function () {
if (!ValidateEmail($("#txtEmail").val())) {
alert("Invalid email address.");
}
else {
alert("Valid email address.");
}
});
</script>
<input type = "text" id = "txtEmail" />
<input type = "button" id = "btnValidate" value = "Validate" />
여기에 착륙했습니다 .... 여기에 도착했습니다 : https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... 다음 정규식을 제공했습니다.
/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
... jQuery Validation 플러그인 readme에 대한 메모 덕분에 발견되었습니다 : https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
따라서 @Fabian 의 답변 의 업데이트 버전 은 다음과 같습니다.
function IsEmail(email) {
var regex = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
return regex.test(email);
}
희망이 도움이
john..doe@example.com
하지만 거짓이었던 것으로 그 싶습니다
버그는 Jquery Validation Validation Plugin에 있습니다. 변경하려면 @로만 유효성을 검사하십시오.
코드를 이것으로 변경하십시오
email: function( value, element ) {
// From http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-%28type=email%29
// Retrieved 2014-01-14
// If you have a problem with this implementation, report a bug against the above spec
// Or use custom methods to implement your own email validation
return this.optional( element ) || /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( value );
}
일년 내내 중단적인 RegEx 경기보다 더 나은 유지 관리 솔루션 을 사용하려는 사람들을 위해 몇 줄의 코드를 작성했습니다. 바이트를 저장하려는 사람은 RegEx 변형을 고수하십시오. :)
이것은 다음을 제한합니다.
어쨌든 여전히 유출이 가능하므로 서버 측 유효성 검사 + 전자 메일 링크 확인과 결합해야합니다.
//validate email
var emailInput = $("#email").val(),
emailParts = emailInput.split('@'),
text = 'Enter a valid e-mail address!';
//at least one @, catches error
if (emailParts[1] == null || emailParts[1] == "" || emailParts[1] == undefined) {
yourErrorFunc(text);
} else {
//split domain, subdomain and tld if existent
var emailDomainParts = emailParts[1].split('.');
//at least one . (dot), catches error
if (emailDomainParts[1] == null || emailDomainParts[1] == "" || emailDomainParts[1] == undefined) {
yourErrorFunc(text);
} else {
//more than 2 . (dots) in emailParts[1]
if (!emailDomainParts[3] == null || !emailDomainParts[3] == "" || !emailDomainParts[3] == undefined) {
yourErrorFunc(text);
} else {
//email user
if (/[^a-z0-9!#$%&'*+-/=?^_`{|}~]/i.test(emailParts[0])) {
yourErrorFunc(text);
} else {
//double @
if (!emailParts[2] == null || !emailParts[2] == "" || !emailParts[2] == undefined) {
yourErrorFunc(text);
} else {
//domain
if (/[^a-z0-9-]/i.test(emailDomainParts[0])) {
yourErrorFunc(text);
} else {
//check for subdomain
if (emailDomainParts[2] == null || emailDomainParts[2] == "" || emailDomainParts[2] == undefined) {
//TLD
if (/[^a-z]/i.test(emailDomainParts[1])) {
yourErrorFunc(text);
} else {
yourPassedFunc();
}
} else {
//subdomain
if (/[^a-z0-9-]/i.test(emailDomainParts[1])) {
yourErrorFunc(text);
} else {
//TLD
if (/[^a-z]/i.test(emailDomainParts[2])) {
yourErrorFunc(text);
} else {
yourPassedFunc();
}}}}}}}}}
jQuery Validation을 사용 하고 단일 HTML 행에서 이메일과 이메일 유효성 검증 메시지를 검증 할 수 있습니다.type="email" required data-msg-email="Enter a valid email account!"
당신이 사용할 수있는 데이터 MSG-이메일 "유효한 이메일 주소를 입력하십시오."개인의 메시지를 배치하는 데 매개 변수를하거나이 매개 변수를 배치하지 않고 기본 메시지가 표시됩니다
전체 예 :
<form class="cmxform" id="commentForm" method="get" action="">
<fieldset>
<p>
<label for="cemail">E-Mail (required)</label>
<input id="cemail" type="email" name="email" required data-msg-email="Enter a valid email account!">
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.js"></script>
<script>
$("#commentForm").validate();
</script>
if($("input#email-address").getVerimailStatus() < 0) {
(incorrect code)
}
if($("input#email-address").getVerimailStatus() == 'error') {
(right code)
}
checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. ui@jquery.com" );
참조 : JQUERY UI 웹 사이트
: 당신이 볼 수 jquery.validate.js을 프로젝트에 추가
이것을 다음과 같이 사용하십시오 :
<input id='email' name='email' class='required email'/>
또 다른 간단하고 완전한 옵션 :
<input type="text" id="Email"/>
<div id="ClasSpan"></div>
<input id="ValidMail" type="submit" value="Valid"/>
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
$("#ValidMail").click(function () {
$('span', '#ClasSpan').empty().remove();
if (IsEmail($("#Email").val())) {
//aqui mi sentencia
}
else {
$('#ClasSpan').append('<span>Please enter a valid email</span>');
$('#Email').keypress(function () {
$('span', '#itemspan').empty().remove();
});
}
});
당신은 당신의 자신의 기능을 만들 수 있습니다
function emailValidate(email){
var check = "" + email;
if((check.search('@')>=0)&&(check.search(/\./)>=0))
if(check.search('@')<check.split('@')[1].search(/\./)+check.search('@')) return true;
else return false;
else return false;
}
alert(emailValidate('your.email@yahoo.com'));
방금 만든 간단한 것, 내가 필요한 것을 수행합니다. 영숫자, 마침표, 밑줄 및 @로만 제한하십시오.
<input onKeyUp="testEmailChars(this);"><span id="a"></span>
function testEmailChars(el){
var email = $(el).val();
if ( /^[a-zA-Z0-9_@.-]+$/.test(email)==true ){
$("#a").html("valid");
} else {
$("#a").html("not valid");
}
}
다른 사람들의 도움으로 만든
버튼 상태 처리를 사용하여 입력하는 동안 이메일을 확인하십시오.
$("#email").on("input", function(){
var email = $("#email").val();
var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!filter.test(email)) {
$(".invalid-email:empty").append("Invalid Email Address");
$("#submit").attr("disabled", true);
} else {
$("#submit").attr("disabled", false);
$(".invalid-email").empty();
}
});
jquery 유효성 검사를 사용하는 경우
내 custm 형식에 emailCustomFormat
사용되는 방법 을 만들었으며 regex
요구 사항에 맞게 변경할 수 있습니다
jQuery.validator.addMethod("emailCustomFormat", function (value, element) {
return this.optional(element) || /^([\w-\.]+@@([\w-]+\.)+[\w-]{2,4})?$/.test(value);
}, abp.localization.localize("FormValidationMessageEmail"));// localized message based on current language
다음과 같이 사용할 수 있습니다
$("#myform").validate({
rules: {
field: {
required: true,
emailCustomFormat : true
}
}
});
이 정규식은 받아들입니다
abc@abc.abc
, abc@abc.abcd
하지만이
abc@abc
, abc@abc.a
,abc@abc.abcde
이것이 당신을 도울 수 있기를 바랍니다