유용한정규식

개발관련/javascript2011. 4. 21. 12:15HanQ eNFO

 

  1. var str = "한글 <!-- 주석 --> <SCRIPT type=text/javascript>window.alert('hellow')<\/script>";
  2.  str += "<style type='text/css> td {font-size:9pt;}<\/style>";
  3.  str += "<br /> <h3>Hellow Blog</h3>";
  4.  
  5. //태그제거
  6. var RegExpTag = "<[^<|>]*>";
  7. str = str.replace(RegExpTag,"");
  8. //result : 한글 window.a lert('hellow'); td {font-size:9pt;} Hellow Blog

  9. //스크립트 제거
  10. var RegExpJS = "<script[^>]*>(.*?)</SCRIPT>";
  11. str = str.replace(RegExpJS,"");
  12. //result : 한글 <!-- 주석 --> <STYLE type=text/css>  td {font-size:9pt;} </STYLE> <BR> <H3>Hellow Blog</H3>
  13.  
  14. //스타일 제거
  15. var RegExpCSS = "<STYLE[^>]*>(.*?)</STYLE>";
  16. str = str.replace(RegExpCSS,"");
  17. //result : 한글 <!-- 주석 --> <SCRIPT type=text/javascript>window.a lert('hellow');</SCRIPT><BR><H3>Hellow Blog</H3>
  18.  
  19. //한글 제거
  20. var RegExpHG = "[ㄱ-ㅎ가-힣]";
  21. str = str.replace(RegExpHG,"");
  22. //result : <!-- 주석 --> <SCRIPT type=text/javascript>window.a lert('hellow');</SCRIPT><STYLE type=text/css> td {font-size:9pt;}</STYLE><BR><H3>Hellow Blog</H3>
  23.  
  24. //주석 제거
  25. var RegExpDS = /<!--[^>](.*?)-->/g;
  26. str6 = str.replace(RegExpDS,"");
  27. //result : 한글 <SCRIPT type=text/javascript>window.a lert('hellow');</SCRIPT><STYLE type=text/css> td {font-size:9pt;}</STYLE><BR><H3>Hellow Blog</H3>
  28.  
    1.   
    2. //숫자만
    3. function num_check(el){
    4. var pattern = /^[0-9.]+$/;
    5.     return pattern.test(el.value) ? true : "반드시 숫자로만 입력해야 합니다";
    6. }
    7. //영문만
      1.  function(el) {
      2.     var pattern = /^[a-zA-Z]+$/;
      3.     return pattern.test(el.value) ? true : "invalid";
      4. }

      //한글

      1.  function(el) {
      2.     var pattern = /[가-힝]/;
      3.     return pattern.test(el.value) ? true : "반드시 한글을 포함해야 합니다";
      4. }

      //이메일

      1. function(el,value) {
      2.     var value = value ? value : el.value;
      3.     var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
      4.     return pattern.test(value) ? true : "invalid";
      5. }

      //사이트주소

      1.  function(el,value) {
      2.     var pattern = /^(0[2-8][0-5]?)-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
      3.     var pattern15xx = /^(1544|1566|1577|1588|1644|1688)-?([0-9]{4})$/;
      4.     var num = value ? value : el.value;
      5.     return pattern.exec(num) || pattern15xx.exec(num) ? true : "invalid";
      6. }

      //휴대폰 번호

      1. function(el,value) {
      2.     var pattern = /^(01[01346-9])-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
      3.     var num = value ? value : el.value;
      4.     return pattern.exec(num) ? true : "invalid";
      5. }

      //일반 전화번호

      1.  function(el,value) {
      2.     var pattern = /^(0[2-8][0-5]?|01[01346-9])-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
      3.     var pattern15xx = /^(1544|1566|1577|1588|1644|1688)-?([0-9]{4})$/;
      4.     var num = value ? value : el.value;
      5.     return pattern.exec(num) || pattern15xx.exec(num) ? true : "invalid";

      //사업자 번호

      1. function(el,value) {
      2.     var pattern = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/;
      3.     var num = value ? value : el.value;
      4.     if (!pattern.test(num)) return "invalid";
      5.     num = RegExp.$1 + RegExp.$2 + RegExp.$3;
      6.     var cVal = 0;
      7.     for (var i=0; i<8; i++) {
      8.         var cKeyNum = parseInt(((_tmp = i % 3) == 0) ? 1 : ( _tmp  == 1 ) ? 3 : 7);
      9.         cVal += (parseFloat(num.substring(i,i+1)) * cKeyNum) % 10;
      10.     }
      11.     var li_temp = parseFloat(num.substring(i,i+1)) * 5 + "0";
      12.     cVal += parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
      13.     return parseInt(num.substring(9,10)) == 10-(cVal % 10)%10 ? true : "invalid";
      14. }

      //외국인 번호

      1. function(el,value) {
      2.     var pattern = /^(\d{6})-?(\d{5}[7-9]\d{1})$/;
      3.     var num = value ? value : el.value;
      4.     if (!pattern.test(num)) return "invalid";
      5.     num = RegExp.$1 + RegExp.$2;
      6.     if ((num[7]*10 + num[8]) %2) return "invalid";

      7.     var sum = 0;
      8.     var last = num.charCodeAt(12) - 0x30;
      9.     var bases = "234567892345";
      10.     for (var i=0; i<12; i++) {
      11.         if (isNaN(num.substring(i,i+1))) return "invalid";
      12.         sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
      13.     }
      14.     var mod = sum % 11;
      15.     return (11 - mod + 2) % 10 == last ? true : "invalid";
      16. }

      //주민등록 번호

      1.  function(el,value) {
      2.     var pattern = /^([0-9]{6})-?([0-9]{7})$/;
      3.     var num = value ? value : el.value;
      4.     if (!pattern.test(num)) return "invalid";
      5.     num = RegExp.$1 + RegExp.$2;

      6.     var sum = 0;
      7.     var last = num.charCodeAt(12) - 0x30;
      8.     var bases = "234567892345";
      9.     for (var i=0; i<12; i++) {
      10.         if (isNaN(num.substring(i,i+1))) return "invalid";
      11.         sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
      12.     }
      13.     var mod = sum % 11;
      14.     return (11 - mod) % 10 == last ? true : "invalid";
      15. }

      //주민번호2

      1.  function(el,value) {
      2.     var pattern = /^(\d{6})-?(\d{5}(\d{1})\d{1})$/;
      3.     var num = value ? value : el.value;
      4.     if (!pattern.test(num)) return "invalid";
      5.     num = RegExp.$1 + RegExp.$2;
      6.     if (RegExp.$3 == 7 || RegExp.$3 == 8 || RegExp.$4 == 9)
      7.         if ((num[7]*10 + num[8]) %2) return "invalid";

      8.     var sum = 0;
      9.     var last = num.charCodeAt(12) - 0x30;
      10.     var bases = "234567892345";
      11.     for (var i=0; i<12; i++) {
      12.         if (isNaN(num.substring(i,i+1))) return "invalid";
      13.         sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
      14.     }
      15.     var mod = sum % 11;
      16.     if(RegExp.$3 == 7 || RegExp.$3 == 8 || RegExp.$4 == 9)
      17.         return (11 - mod + 2) % 10 == last ? true : "invalid";
      18.     else
      19.         return (11 - mod) % 10 == last ? true : "invalid";
      20. }

 

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.

'개발관련 > javascript' 카테고리의 다른 글

간단함수  (0) 2011.04.21
즐겨찾기 및 상단으로 올리기  (0) 2011.04.21
유용한정규식  (0) 2011.04.21
정규식  (0) 2011.04.21
블로그 주인 사진AuthoreNFO
자주 잊어먹는것들을 기록해 놓을려고합니다.^^