서치 중에 가장 온전한 것.
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
-
필수 요소. 검색을 수행할 문자열입니다.
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). 버전 정보를 참조하십시오.
추가 유효성 검사 예졔
'Web > Javascript_Jquery' 카테고리의 다른 글
글자수 제한, 이력서 쓰는 양식처럼 글자수 표기 (0) | 2016.02.26 |
---|---|
다른 라이브러리, 다른 버전의 jQuery와 충돌 방지하기 - $.noConflict(); (0) | 2016.02.26 |
jQuery FullCalendar 달력, 스케줄 플러그인 (0) | 2016.02.26 |
오늘 날짜 구하기 yyyy-mm-dd (0) | 2016.02.24 |
AJAX 정리 (0) | 2016.01.28 |
댓글