5 июля 2009, 14:54

Javascript RegExp parsing url

var parts = /^(([^:/\\?#]+):)?(//(([^:/\\?#]*)(?::([^/\\?#]*))?))?([^\\?#]*)(\\?([^#]*))?(#(.*))?$/.exec(url)
Теперь более подробно
var pattern = 
    // Match #0. URL целиком (#0 - это HREF). 
    // Например, #0 == "https://example.com:8080/some/path/index.html?p=1&q=2&r=3#some-hash"
    "^" + 
    // Match #1 & #2. SCHEME (#1 - это PROTOCOL). 
    // Например, #1 == "https:", #2 == "https"
    "(([^:/\\?#]+):)?" + 
    // Match #3-#6. AUTHORITY (#4 = HOST, #5 = HOSTNAME и #6 = PORT)
    // Например, #3 == "//example.com:8080", #4 == "example.com:8080", #5 == "example.com", #6 == "8080"
    "(" + 
        "//(([^:/\\?#]*)(?::([^/\\?#]*))?)" +
    ")?" + 
    // Match #7. PATH (#7 = PATHNAME). 
    // Например, #7 == "/some/path/index.html"    
    "([^\\?#]*)" + 
    // Match #8 & #9. QUERY (#8 = SEARCH). 
    // Например, #8 == "?p=1&q=2&r=3", #9 == "p=1&q=2&r=3"    
    "(\\?([^#]*))?" + 
    // Match #10 & #11. FRAGMENT (#10 = HASH). 
    // Например, #10 == "#some-hash", #11 == "some-hash"
    "(#(.*))?" + "$";


Javascript: remove from array       Ctrl       Apache error (OS 10048)

Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter