자바 스크립트를 통해 URL의 유효성을 검사할 수 있을까요?
글쓴이: athxue / 작성시간: 금, 2006/07/21 - 8:11오전
자바 스크립트에서 정규식을 이용하여 URL이 정상적인 입력인지 확인하는
방법을 찾고 있습니다. 제가 정규식에 대해 잘 몰라서 인터넷에 공개된
소스를 검색해봤는데 유일하게 찾은것이 다음과 같습니다./(?:^|")(http|ftp|mailto):(?://)?(\w+(?:[\.:@]\w+)*?)(?:/|@)([^"\?]*?)(?:\?([^\?"]*?))?(?:$|")/
그런데 문제가 있는지 문법에러를 발생시키고 있습니다.
그래서 생각한게 자바스크립트의 함수를 통해 해당 URL이 살아있는지 검사
하여 유효성을 체크하면 어떨까 했는데 가능한가요?
Forums:
불가능합니다..
한 사이트내에서 자기 사이트 내의 URL의 유효성이야 XMLHttpRequest에다가 HEAD요청같은걸 해서 에러코드를 보면 알 수 있지 않을까 싶습니다만, 보안 모델로 인해서 타사이트로는 그러한 접근이 불가능합니다..(가능하다면, 그게 흔히 말하는 XSS라고 불리는 것이겠지요..)
서버쪽에서 그렇게 구현하면 되겠지만 로드도 엄청나고 보안에도 위험하니 일부러 XSS를 가능하게 구현하는 것은 아니라고 봅니다..
그리고 위의 스크립트 덩어리는 URL의 유효성만을 검사하지 실제로 이 URL이 살아있는 링크인지를 검사하는 구문은 아닙니다..
답변 감사드리고요
답변 감사드리고요 /(?:^|")(http|ftp|mailto):(?://)?(\w+(?:[\.:@]\w+)*?)(?:/|@)([^"\?]*?)(?:\?([^\?"]*?))?(?:$|")/ 정규식을 쓰고 싶은데 구문 오류가 있는지 작동하지 않아서요.
단지 url형식만 체크하면 되니 다른 방법으로 할수가 없을까요?
URL 문자열의
URL 문자열의 유효성을 말씀하신 거였군요.
정규식 내의 '
/
' 문자를 ('\/
'로) escape 해주시면 됩니다.뭐, 사는 게 다 그런 것 아니겠습니다까 :)
----
$PWD `date`
$PWD `date`
댓글 달기