Javascript regex for validating url

Rated 3.96/5 based on 727 customer reviews

:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9] )(?

:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9] )*(?

question - why the double slash inside the last character class? I was trying to put together some Java Script to validate a domain name (ex.

in this portion of the regex [-a-z [email protected]:%_\ .~#? google.com) and if it validates enable a submit button. The script uses a stripped down regular expression from above for domain matching, which isn't strict about fake TLD.

Most of the simple-looking regexes out there will give many false negatives as well as false positives.

See for amusement these efforts but even the end result is not good.

To clarify, I’m looking for a decent regular expression to validate URLs that were entered as user input with.

I have no interest in parsing a list of URLs from a given string of text (even though some of the regexes on this page are capable of doing that). /(((http|ftp|https):\/) (([0-9a-z_-] \.) (aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mn|mn|mo|mp|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|nom|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ra|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw|arpa)(:[0-9] )?

The actual URL syntax is pretty complicated and not easy to represent in regex.

The Reg Exp accept HTTP and HTTPS URLs with some international domain or IPv4 number.

The Reg Exp in one line is show at end of this post.

I also don’t want to allow every possible technically valid URL — quite the opposite.

See the URL Standard if you’re looking to parse URLs in the same way that browsers do.

Leave a Reply