2013-10-29 96 views
-1

任何人都可以解释这个正则表达式的含义是什么?正则表达式的解释

/^(https?):\/\/(www\.)?[a-zA-Z0-9\-\.]+\.[a-zA-Z0-9]{2,3}[a-zA-Z0-9\-\#\.\/\?]*$/ 
+0

请参阅 的回答“http://stackoverflow.com/questions/161738/what-is-the-best-regular-expression-to-check-if-a-string-is-a-valid-网址“ – Oded

+0

该功能是正确的,但不是你给的网址。所有这些都是无效的网址。 :-) –

+0

HTTPS://www.x.xx https://www.x.co 的https://www.x.c 这是真实的URL,为什么? –

回答

1

最后,我已经成立了我自己的解决方案:

function validateURL(url) 
{ 
    var re = /^(https?):\/\/(www\.)?[a-z0-9\-\.]+\.[[a-z0-9\-\.\/]{2,}]*$/; 
    if (!re.test(url)) 
    { 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 

this function return true if your url contain these: 
part 1. https or http 
part 2. www or not (means optional). 
Below image exploring in more depth. 

enter image description here

我错了吗?

+0

* return re.test(url); * –

+0

你在哪里生成了该图像?谢谢。 –

0

我试过以下并且适合我。

var url = "https://www.xyz.xe"; 
function validateURL(url) 
{ 
    var urlregex = new RegExp("^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$"); 
    return urlregex.test(url); 
} 
validateURL(url); 

Returs假时url="https://www.xyz.x"和真当url="https://www.xyz.xe"