Web/Javascript_Jquery

인터넷 주소 유효성 검사, 유효성 검사.

벨포트조던 2016. 2. 26.
반응형


서치 중에 가장 온전한 것.

https://gist.github.com/dperini/729294

public static boolean isVaildUrl(String url) {
    String reg =
            "^" +
            // protocol identifier
            "(?:(?:https?|ftp)://)" +
            // user:pass authentication
            "(?:\\S+(?::\\S*)?@)?" +
            "(?:" +
              // IP address exclusion
              // private & local networks
              "(?!(?:10|127)(?:\\.\\d{1,3}){3})" +
              "(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" +
              "(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" +
              // IP address dotted notation octets
              // excludes loopback network 0.0.0.0
              // excludes reserved space >= 224.0.0.0
              // excludes network & broacast addresses
              // (first & last IP address of each class)
              "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
              "(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
              "(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
            "|" +
              // host name
              "(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)" +
              // domain name
              "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*" +
              // TLD identifier
              "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" +
            ")" +
            // port number
            "(?::\\d{2,5})?" +
            // resource path
            "(?:/?\\S*)?" +
          "$";
     
    return url.matches(reg);
}

이 함수도 문제가 하나 있는데..  http://localhost:8080 에 대해서는 false를 내뱉는다.

실제 도메인 주소에 맞는 검사라고 보면 될 듯.

 

 

 

유효성 검사할 때 ,

 

 

test 메서드(Regular Expression)(JavaScript)

 

검색한 문자열에 패턴이 있는지 여부를 나타내는 부울 값을 반환합니다.

 
rgExp.test(str) 

rgExp

필수 요소.정규식 패턴 및 적용 가능한 플래그를 포함하는 Regular Expression 개체의 인스턴스입니다.

str

필수 요소.검색을 수행할 문자열입니다.

test 메서드는 문자열 안에 패턴이 있는지 확인하여 있으면 true를, 없으면 false를 반환합니다.

전역 RegExp 개체의 속성은 test 메서드로 수정되지 않습니다.

다음 예제는 test 메서드의 사용 예를 보여 줍니다.이 예제를 사용하려면 함수에 정규식 패턴과 문자열을 전달하세요.함수는 문자열에 정규식 패턴이 있는지 테스트하고 검색 결과를 나타내는 문자열을 반환합니다.

function TestDemo(re, teststring)
{
   // Test string for existence of regular expression.
   var found = re.test(teststring)

   // Format the output.
   var s = "";
   s += "'" + teststring + "'"

   if (found)
      s += " contains ";
   else
      s += " does not contain ";

   s += "'" + re.source + "'"
   return(s);
}

 

 

요구 사항

지원되는 문서 모드: Quirks, Internet Explorer 6 표준, Internet Explorer 7 표준, Internet Explorer 8 표준, Internet Explorer 9 표준, Internet Explorer 10 표준, Internet Explorer 11 표준. 스토어 앱에서도 지원됩니다(Windows 8 및 Windows Phone 8.1). 버전 정보를 참조하십시오.

 

 

추가 유효성 검사 예졔

 

http://androphil.tistory.com/256

 

반응형

댓글