이메일 형식 유효성 체크 정규식

회원이나, 입력된 메일의 유효성을 체크 하는 방법이다.


mysql의 정규식을 이용하면 쉽게 파악할 수 있다.


이메일이 유효하지 않은 회원은 


SELECT * FROM member WHERE email NOT REGEXP '^[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9._-]@[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]\\.[a-zA-Z]{2,4}$';


로 추출이 가능하다.


mysql의 REGEXP  기능을 이용하면 된다.


다양한 정규식 패턴을 이용하면 원하는 필터링을 쉽게 할수 있겠다.


http://dev.mysql.com/doc/refman/5.7/en/regexp.html



[자스 팁]입력값에 특수문자, 한자 제한하기

문제.
이용자의 글을 받아서 저장하다 보면...허용하지 말아야 할 글자들이 입력되는 경우가 있다..
이럴땐 참 난감한데....특히 한자를 체크하는거 더욱이 어렵다...

해결.
특수문자에 대한 제한은 정규식을 이용하면, 쉽게 해결할수 있다. 반면에 한자를 찾아내는 것은 한글자씩 비교해서 한자인지 아닌지를 알아야하는데...인터넷을 뒤지다보니
한중일 공통한자부분은 유니코드로 바꿨을때..  u4E00 - u9FFF 범위에 들어간다고 한다..
그것을 이용해 function을 하나 만들었다...

function fnRestrictChar(str){
 var regRestrictChar = /[!?@#$%^&*※☆★○●◎♣▷▶]/;
 patten = eval(regRestrictChar);
 var regRestrictChar_str = '[제한문자]';
 if(!patten.test(str)){
  for (var i=0; i<str.length ; i++){
   var c=escape(str.charAt(i));
   c=c.replace('%','');
//   c = str.charCodeAt(i);
   alert(c);
   if(c >= 'u4E00' && c<= 'u9FFF'){
    alert("한자제한!");
    break;
   }
  }
 }else{
  alert("제한된문자!");
 }
}

출처 : Tong - 까비천사님의 자바스크립트통