2013-12-19 4 views
1

아래 정규식을 사용하여 영숫자를 허용하도록 전자 메일의 유효성을 검사합니다. 그것은이어야 하나 개 알파벳 2) 허용 숫자 3) 허용 특수 문자 .-and _을 포함해야 다음과 같은 경우 자바 스크립트의 영숫자 전자 메일 유효성 검사

1

)에서 작동

정규 표현식 :

/^([a-zA-Z0-9])(([a-zA-Z0-9])*([\._-])?([a-zA-Z0-9]))*@(([a-zA-Z0-9\-])+(\.))+([a-zA-Z]{2,4})+$/i

케이스 :

예상 12,

[email protected] - allow

[email protected] - allow

출력 :

[email protected] - not allow because it does not contain alphabets before @

[email protected] - allow

[email protected] - allow

[email protected] - allow

[email protected] - allow

여성용은 Demo

+1

전자 메일 유효성 검사에 대한 규칙은 어디에서 받습니까? 외부 출처의 이메일을 확인하는 경우 사용할 규칙이 아닙니다. 이메일 주소를 확인하거나 찾는 방법에 대한 [이 기사] (http://www.regular-expressions.info/email.html)를 읽으십시오.이 작업을 위해 정규 표현식을 사용하는 것과 약간의 우수한 정규 표현식을 제공하는 것의 균형과 불완전성에 대한 훌륭한 토론을 제공합니다. – FrankieTheKneeMan

+0

감사합니다. @FrankieTheKneeMan – Kathiravan

+0

우리 조직에서 '^ [a-zA-Z0-9 ._ % + -] + @ [a-zA-Z0-9 .-] + \. [a-zA-Z ] {2,4} $ '입니다. –

답변

2

일을 할 것입니다 귀하의 정규식, 그냥 처음에이 추가

(?=[^@]*[A-Za-z]) 

는 다음과 같이 최종 정규식을 jsfiddle입니다 :

/^(?=[^@]*[A-Za-z])([a-zA-Z0-9])(([a-zA-Z0-9])*([\._-])?([a-zA-Z0-9]))*@(([a-zA-Z0-9\-])+(\.))+([a-zA-Z]{2,4})+$/i

(?=exp)은 긍정적 인 look-ahead입니다. 그것은 일치로 가져 가지 않고 표현을 찾으려고 노력할 것입니다. look-ahead는 실제로 문자와 일치하지만 일치를 포기합니다.

(?=[^@]*[A-Za-z]) : 이외의 문자를 의미하는 [^@]*[A-Za-z]과 일치합니다. 적어도 하나 개의 알파벳 @

전에 부분에있는 경우 그래서 실제로는 일치 할 수 있습니다 여기에 refer this for look-ahead and look-behind

+0

고마워요. 완벽하게 작동합니다. – Kathiravan

0

자바 스크립트 코드 :

var email_to_check = "[email protected]"; 
email_check=email_to_check.substring(0,email_to_check.lastIndexOf("@")); 
var isnum = /^\d+$/.test(email_check); 
var email_regex = /^([[email protected]#$%^&*(){}|:"<>?\/';\\+\-~]*@[a-zA-z]+\.[a-zA-z]+)$/; 
email_test = email_regex.test(email_to_check); 
if(isnum){ 
alert("You must enter aleast an Alphabet !")  
}else{ 
    if(email_test){ 
      /* code if email is right :) */ 
     alert("This is corrrect email !") 
    }else{ 

    alert("Enter valid email address !"); 
    } 
    } 

그렇지 특수 문자를 제거가 당신의 체크리스트에서 원한다.

관련 문제