Check if url is valid or not

javascript, regex

Solution

Try this one:

 function learnRegExp(s) {    
      var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
      return regexp.test(s);    
 }

Problem

I tried to check if url is valid or invalid. the checks of 7,8 returns wrong outputs. ``` alert('1: ' + learnRegExp('http://www.google-com.123.com')); // true alert('2: ' + learnRegExp('http://www.google-com.123')); // false alert('3: ' + learnRegExp('https://www.google-com.com')); // true alert('4: ' + learnRegExp('http://google-com.com')); // true alert('5: ' + learnRegExp('http://google.com')); //true alert('6: ' + learnRegExp('google.com')); //true alert('7: ' + learnRegExp('ww.google.com')); //false -> it returns true alert('8: ' + learnRegExp('www.google.co.il')); //true -> it returns false alert('9: ' + learnRegExp('http://ww.google.co.il')); //false alert('10: ' + learnRegExp('https://ww.google.co.il')); //false function learnRegExp(){ return /((ftp|https?):\/\/)?(www\.)?[a-z0-9\-\.]{3,}\.[a-z]{3}$/ .test(learnRegExp.arguments[0]); } ``` please help me to solve it. any help appreciated!

Original source

Related problems