Skip to content Skip to sidebar Skip to footer

Issue With Regex For Website Validation In Javascript

I am currently using the following regex to validate a website: ^((https?):\/\/)?([w|W]{3}\.)[a-zA-Z0-9\-\.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$ This is currently working for: htt

Solution 1:

You need to make thr group matching www. optional

^((https?):\/\/)?([wW]{3}\.)?[a-zA-Z0-9\-.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$
                            ^

See demo

I am just pointing how to adjust your regex to match the strings you specified. Actually, the topic has been thoroughly covered on SO. For example, please check Trying to Validate URL Using JavaScript post to see how URL can be validated in JavaScript.

Also, a bit of searching over the Web can show some other solutions, like in URL Validation using Regular Expression in Javascript:

^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$

It is a bit adjusted, see how it works here.

Post a Comment for "Issue With Regex For Website Validation In Javascript"