Identify a URL Using Regular Expressions [duplicate] - javascript

This question already has answers here:
Closed 12 years ago.
Possible Duplicates:
Checking for a valid url using Javascript Regular Expressions
PHP validation/regex for URL
I have a if statement that will check if the user entered a URL(HTTP Protocol only), like this:
if(/^regexp/.test(url))
But how should be this regular expression to check if the text is a URL or not?

I believe this little function might help:
function isURL(string){
regEx = /(\b(https?|ftp):\/\/[-A-Z0-9+&##\/%?=~_|!:,.;]*[-A-Z0-9+&##\/%=~_|])/gim;
return regEx.test(string));
}
Let us know if it worked out!
W.

Related

javascript regexp surprise [duplicate]

This question already has an answer here:
Javascript RegEx Not Working [duplicate]
(1 answer)
Closed 5 years ago.
I tried the following JavaScript in developer console of Chrome:
s = "mysessionId=PsGymRfxWIQG9gjNGgRlKw"
s.match("mysessionId=([^\s\;]+)")
A little surprised by the result:
["mysessionId=P", "P"]
I had expected that the () in regexp will match the entire "PsGymRfxWIQG9gjNGgRlKw", instead, it only matched the first character "P".
When I tried the regexp in perl, it does match the entire sessionId.
Any idea why?
I should have used // instead of "".
s.match(/mysessionId=([^\s\;]+)/)
Had to laugh the moment when I figured it out.

Domain Name Validation using Regular Expression [duplicate]

This question already has answers here:
JavaScript regular expression validation for domain name?
(5 answers)
Closed 7 years ago.
I want to validate domain name (only), which is going to be entered into textbox.
Acceptance Criteria:
abc.com
abc.in
abc.pqr.com
abc.com/xyz
abc.com/xyz/pqr
no.matter.how-many.domain-name.com/anything
Reject:
http://example.com
(anything preceding with http:// or https:// or ftp://)
abc.com////
abc.com///xyz
.....likewise
I have/had tried this:
^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.?)^[a-z0-9]?$/i
But it doesn't take: abc.com/xyz or abc.com/ (that is in my acceptance criteria)
(After that)Also tried this:
/([\w-]+\.)+[\w-]+[.com|.in|.org]+(\[\?%&=]*)?/
This overcome above problem,But it also take like: http://example.com (that is in my reject criteria)
I am not more good at Regular expressions, so, what will be the regular expression for above scenario.
(Any modifications do i need in existing code?)
This solves my problem:
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})(\/(?:[\/\w \.-]*)*\/?)?([\/?#].*)?
This Article helps.
Edit: Not Working. Also accepting ..com and example.com/////abc
Try this:
/^[\w\-]+\.\w[\w\-\.]*((\/\w+)*|\/)$/igm
Regex Demo
This was the best I could come up with. Didn't really check it too much
^((?:[^:\/\.\s]+\.)+[^:\/\.\s]+(?:(?:\/[^:\/\.\s]+)*))$
regex101

Swap + (plus) with space in string [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How can I decode a URL with jQuery?
Could somebody please help me to take a string (i.e. URL parameter) and remove the +(plus) or %20 to a regular space (" ")?
For example, to change this:
"my+string+to+change" or "my%20string%20to%20change"
to this:
"my string to change"
I use a lot of jQuery already, so that would be fine. Or pure javascript if that's easier.
Use decodeURIcomponent(stringToDecode)
Note this is not a jquery feature but a regular javascript function.

Regular expression for check website url [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Regular expression for URL validation (in JavaScript)
How to validate url?
I have a textbox in a form where user can enter any website url. i want to check that url, whether it is valid or not through regular expression. it will accept only like this "http://www.google.com" or "www.google.co.in".
I have using a expression like
/((http|https|ftp):\/\/(www|WWW)|(www|WWW))\.[A-Za-z]{3}/ .
it is working but when i enter wwww.google.co.in, it says valid.
can any one help me please.
Do a request server side and check for 200 OK. Don't trust the client.
We needed it in our project a couple of weeks ago, and I think we used this one
function isUrl(s) {
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*#)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%#!\-\/]))?/
return regexp.test(s);
}
UPDATE:
I'm still working on it:
(ftp|http|https):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\/+#&#;`~=%!]*)(\.\w{2,})?)*\/?

Regular Expression for null or Domain (Pattern) validation [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
What is the best regular expression to check if a string is a valid URL?
I want to validate text box by regular expression. It should be Null or valid Domain Name Like Google.com, example.com.
Thx
Something along the following lines will work.
function isValidURL(url)
{
return url.match(/([a-zA-Z]+:\/\/)?(.+\.)?(\w+)(\.\w+)(:[0-9]+)?(\/.+)?/) ? true : false;
}
alert(isValidURL(document.getElementById('textBoxId').value));
It won't work for things like "example.com" as really these aren't "valid" urls in that sense. A valid url beings with http://

Categories