Domain Name Validation using Regular Expression [duplicate] - javascript

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

Related

Email validation regex for rails and javascript [duplicate]

This question already has answers here:
Match exact string
(3 answers)
Closed 5 years ago.
I have a regular expression I've adapted from Michael Hartl's rails book that I'm using to validate email addresses
/\A([\w+\-]\.?)+#[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
I want to use this for validation in javascript, but it doesn't work there, and I can't seem to figure out why. I'm just spinning my wheels here
So the above one works in Rails, but doesn't work in JS. I've found other expressions I can use in JS that work, but I want to try to use the same ones to keep it consistent.
For clarification, this is the rails side:
email = "test#test.com"
return /\A([\w+\-]\.?)+#[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
this returns true
and on the JS side:
email = "test#test.com"
return /^\A([\w+\-]\.?)+#[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i.test( email );
this returns false
Any pointers?
Per the comment by #Wiktor Stribiżew the missing piece was changing the regex syntax to work with JS, like this
return /^([\w+\-]\.?)+#[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+$/i.test( email );
I took out the \A and \z and replaced them with \^ and $, respectively

Regex for number or float [duplicate]

This question already has answers here:
Numeric validation with RegExp to prevent invalid user input
(3 answers)
Closed 7 years ago.
I need a regex for any number OR float.
I have used this but doesn't work:
/(^[0-9]+*[.][0-9]+)$|^[\d+]$/
Why ?
Try this regex:
/^[+-]*[0-9]+[.][0-9]+|[+-]*[0-9]+$/g
You can use http://www.regexr.com/ to test and create regexes
Try this one:
^[-+]?[0-9]*\.?[0-9]+$
In case this might help you. This online Regex Tools is actually very helpful:
http://www.regexr.com/
You have a few issues with your regex:
You cannot have a quantifier after + so change +* to just + (1 or more matches)
Move your start identifier ^ outside of the group, for consistency
hmmm, you seem to have edited your regex: but [^\d+] was looking for NOT a number or + symbol.
One possible solution would be as follows:
^([0-9]+[.][0-9]+)$|^\d+$
Here is a working example
For more example, see here
You expression doesn't work because it contains errors.
This is the website I use for RegEx testing - It is good to test them on a website like this that gives you feedback
You have the beginning inside a capturing group, but the end outside - (^...)$
You also have double operators - +* - Use only one
And the or not plus sign and digit is not needed - ?[^\d+]
I believe this expression will do what you want: ^-?\d+(\.\d+)?$

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://

Identify a URL Using Regular Expressions [duplicate]

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.

Categories