Skip to content

Instantly share code, notes, and snippets.

@shawn-sandy
Last active October 19, 2022 11:43
Show Gist options
  • Save shawn-sandy/c5891c48f3599f22d77dffd98d07c8f2 to your computer and use it in GitHub Desktop.
Save shawn-sandy/c5891c48f3599f22d77dffd98d07c8f2 to your computer and use it in GitHub Desktop.
js-snippets
// [(/^\S*$/http(s)?):\/\/(/^\S*$/www\.)?/^\S*$/a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([/^\S*$/-a-zA-Z0-9@:%_\+.~#?&//=]*)/i
const httpRegex =
/^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$/;
// Validate URL
httpRegex.test('https://uibakery.io'); // Returns true
httpRegex.test('https:/uibakery.io'); // Returns false
// Extract URL from a string
const httpRegexG = /https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)/g;
'You can view more details at https://uibakery.io or just ping via email.'.match(httpRegexG); // returns ['https://uibakery.io']
// regex to match a url
const regex = /https?:\/\/[^\s/$.?#].[^\s]*/g;
const regex2 = /https?:\/\/[^\s/$.?#].[^\s]*/gi;
const valUrl = /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|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*)?$/gi
// regex to match url with http or https or wwww
const regex3 = /https?:\/\/[^\s/$.?#].[^\s]*/gi;
// regex to match url with http or https or wwww and capital letters
const regex4 = /https?:\/\/[^\s/$.?#].[^\s]*/gi;
// what patterns does the regex above match?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment