validate google docs and office 365 url










0















I am using regex for validating if the provided url is valid or not. To test validity(either google docs url or office 365 docs), I did the following but it's not working



var url = "https://hello-my.sharepoint.com/:w:/r/personal/;
var urlRegx = new RegExp('^(docs.google.com|(http|https)://[A-Za-z]-.my.sharepoint.com)', 'i');
console.log(urlRegx.test(url));


This is giving me false when i have the sharepoint url but true when i have the `url = "docs.google.com/document/"










share|improve this question






















  • Try var urlRegx = /^(?:docs.google.com|https?)://[A-Za-z]+-my.sharepoint.com/i;. See the regex demo.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:14
















0















I am using regex for validating if the provided url is valid or not. To test validity(either google docs url or office 365 docs), I did the following but it's not working



var url = "https://hello-my.sharepoint.com/:w:/r/personal/;
var urlRegx = new RegExp('^(docs.google.com|(http|https)://[A-Za-z]-.my.sharepoint.com)', 'i');
console.log(urlRegx.test(url));


This is giving me false when i have the sharepoint url but true when i have the `url = "docs.google.com/document/"










share|improve this question






















  • Try var urlRegx = /^(?:docs.google.com|https?)://[A-Za-z]+-my.sharepoint.com/i;. See the regex demo.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:14














0












0








0


1






I am using regex for validating if the provided url is valid or not. To test validity(either google docs url or office 365 docs), I did the following but it's not working



var url = "https://hello-my.sharepoint.com/:w:/r/personal/;
var urlRegx = new RegExp('^(docs.google.com|(http|https)://[A-Za-z]-.my.sharepoint.com)', 'i');
console.log(urlRegx.test(url));


This is giving me false when i have the sharepoint url but true when i have the `url = "docs.google.com/document/"










share|improve this question














I am using regex for validating if the provided url is valid or not. To test validity(either google docs url or office 365 docs), I did the following but it's not working



var url = "https://hello-my.sharepoint.com/:w:/r/personal/;
var urlRegx = new RegExp('^(docs.google.com|(http|https)://[A-Za-z]-.my.sharepoint.com)', 'i');
console.log(urlRegx.test(url));


This is giving me false when i have the sharepoint url but true when i have the `url = "docs.google.com/document/"







javascript regex






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 9:12









milanmilan

810929




810929












  • Try var urlRegx = /^(?:docs.google.com|https?)://[A-Za-z]+-my.sharepoint.com/i;. See the regex demo.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:14


















  • Try var urlRegx = /^(?:docs.google.com|https?)://[A-Za-z]+-my.sharepoint.com/i;. See the regex demo.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:14

















Try var urlRegx = /^(?:docs.google.com|https?)://[A-Za-z]+-my.sharepoint.com/i;. See the regex demo.

– Wiktor Stribiżew
Nov 15 '18 at 9:14






Try var urlRegx = /^(?:docs.google.com|https?)://[A-Za-z]+-my.sharepoint.com/i;. See the regex demo.

– Wiktor Stribiżew
Nov 15 '18 at 9:14













1 Answer
1






active

oldest

votes


















1














You've got an additional closing bracket ) at the end of your expression which you should remove.



You are also missing a + after [A-Za-z] (as without the plus you are only matching a single character).



Here is a working example:






var url = "https://hello-my.sharepoint.com/:w:/r/personal/";
var urlRegx = new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i');
console.log(urlRegx.test(url));





Note: When using the RegExp constructor you do not need to escape the special characters. Thus, if you don't use the RegExp constructor you must escape your special characters like so:



var urlRegx = /(docs.google.com|(http|https))://[A-Za-z]+-my.sharepoint.com/i;






share|improve this answer

























  • You still did not escape dots. See console.log('.'). There is no need escaping / in a regex pattern built with RegExp constructor, / is not a special regex metacharacter.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:25












  • @WiktorStribiżew Ah yes, you right. Thanks for pointing this out. I've updated my answer

    – Nick Parsons
    Nov 15 '18 at 9:36











  • if you try to validate the url 'docs.google.com' it gives you false as an output

    – milan
    Nov 19 '18 at 4:40











  • @milan try new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i'); instead

    – Nick Parsons
    Nov 19 '18 at 4:46











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53315906%2fvalidate-google-docs-and-office-365-url%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














You've got an additional closing bracket ) at the end of your expression which you should remove.



You are also missing a + after [A-Za-z] (as without the plus you are only matching a single character).



Here is a working example:






var url = "https://hello-my.sharepoint.com/:w:/r/personal/";
var urlRegx = new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i');
console.log(urlRegx.test(url));





Note: When using the RegExp constructor you do not need to escape the special characters. Thus, if you don't use the RegExp constructor you must escape your special characters like so:



var urlRegx = /(docs.google.com|(http|https))://[A-Za-z]+-my.sharepoint.com/i;






share|improve this answer

























  • You still did not escape dots. See console.log('.'). There is no need escaping / in a regex pattern built with RegExp constructor, / is not a special regex metacharacter.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:25












  • @WiktorStribiżew Ah yes, you right. Thanks for pointing this out. I've updated my answer

    – Nick Parsons
    Nov 15 '18 at 9:36











  • if you try to validate the url 'docs.google.com' it gives you false as an output

    – milan
    Nov 19 '18 at 4:40











  • @milan try new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i'); instead

    – Nick Parsons
    Nov 19 '18 at 4:46
















1














You've got an additional closing bracket ) at the end of your expression which you should remove.



You are also missing a + after [A-Za-z] (as without the plus you are only matching a single character).



Here is a working example:






var url = "https://hello-my.sharepoint.com/:w:/r/personal/";
var urlRegx = new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i');
console.log(urlRegx.test(url));





Note: When using the RegExp constructor you do not need to escape the special characters. Thus, if you don't use the RegExp constructor you must escape your special characters like so:



var urlRegx = /(docs.google.com|(http|https))://[A-Za-z]+-my.sharepoint.com/i;






share|improve this answer

























  • You still did not escape dots. See console.log('.'). There is no need escaping / in a regex pattern built with RegExp constructor, / is not a special regex metacharacter.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:25












  • @WiktorStribiżew Ah yes, you right. Thanks for pointing this out. I've updated my answer

    – Nick Parsons
    Nov 15 '18 at 9:36











  • if you try to validate the url 'docs.google.com' it gives you false as an output

    – milan
    Nov 19 '18 at 4:40











  • @milan try new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i'); instead

    – Nick Parsons
    Nov 19 '18 at 4:46














1












1








1







You've got an additional closing bracket ) at the end of your expression which you should remove.



You are also missing a + after [A-Za-z] (as without the plus you are only matching a single character).



Here is a working example:






var url = "https://hello-my.sharepoint.com/:w:/r/personal/";
var urlRegx = new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i');
console.log(urlRegx.test(url));





Note: When using the RegExp constructor you do not need to escape the special characters. Thus, if you don't use the RegExp constructor you must escape your special characters like so:



var urlRegx = /(docs.google.com|(http|https))://[A-Za-z]+-my.sharepoint.com/i;






share|improve this answer















You've got an additional closing bracket ) at the end of your expression which you should remove.



You are also missing a + after [A-Za-z] (as without the plus you are only matching a single character).



Here is a working example:






var url = "https://hello-my.sharepoint.com/:w:/r/personal/";
var urlRegx = new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i');
console.log(urlRegx.test(url));





Note: When using the RegExp constructor you do not need to escape the special characters. Thus, if you don't use the RegExp constructor you must escape your special characters like so:



var urlRegx = /(docs.google.com|(http|https))://[A-Za-z]+-my.sharepoint.com/i;






var url = "https://hello-my.sharepoint.com/:w:/r/personal/";
var urlRegx = new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i');
console.log(urlRegx.test(url));





var url = "https://hello-my.sharepoint.com/:w:/r/personal/";
var urlRegx = new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i');
console.log(urlRegx.test(url));






share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 19 '18 at 4:46

























answered Nov 15 '18 at 9:22









Nick ParsonsNick Parsons

9,5462826




9,5462826












  • You still did not escape dots. See console.log('.'). There is no need escaping / in a regex pattern built with RegExp constructor, / is not a special regex metacharacter.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:25












  • @WiktorStribiżew Ah yes, you right. Thanks for pointing this out. I've updated my answer

    – Nick Parsons
    Nov 15 '18 at 9:36











  • if you try to validate the url 'docs.google.com' it gives you false as an output

    – milan
    Nov 19 '18 at 4:40











  • @milan try new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i'); instead

    – Nick Parsons
    Nov 19 '18 at 4:46


















  • You still did not escape dots. See console.log('.'). There is no need escaping / in a regex pattern built with RegExp constructor, / is not a special regex metacharacter.

    – Wiktor Stribiżew
    Nov 15 '18 at 9:25












  • @WiktorStribiżew Ah yes, you right. Thanks for pointing this out. I've updated my answer

    – Nick Parsons
    Nov 15 '18 at 9:36











  • if you try to validate the url 'docs.google.com' it gives you false as an output

    – milan
    Nov 19 '18 at 4:40











  • @milan try new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i'); instead

    – Nick Parsons
    Nov 19 '18 at 4:46

















You still did not escape dots. See console.log('.'). There is no need escaping / in a regex pattern built with RegExp constructor, / is not a special regex metacharacter.

– Wiktor Stribiżew
Nov 15 '18 at 9:25






You still did not escape dots. See console.log('.'). There is no need escaping / in a regex pattern built with RegExp constructor, / is not a special regex metacharacter.

– Wiktor Stribiżew
Nov 15 '18 at 9:25














@WiktorStribiżew Ah yes, you right. Thanks for pointing this out. I've updated my answer

– Nick Parsons
Nov 15 '18 at 9:36





@WiktorStribiżew Ah yes, you right. Thanks for pointing this out. I've updated my answer

– Nick Parsons
Nov 15 '18 at 9:36













if you try to validate the url 'docs.google.com' it gives you false as an output

– milan
Nov 19 '18 at 4:40





if you try to validate the url 'docs.google.com' it gives you false as an output

– milan
Nov 19 '18 at 4:40













@milan try new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i'); instead

– Nick Parsons
Nov 19 '18 at 4:46






@milan try new RegExp('(docs.google.com|(http|https))(://[A-Za-z]+-my.sharepoint.com)?', 'i'); instead

– Nick Parsons
Nov 19 '18 at 4:46




















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53315906%2fvalidate-google-docs-and-office-365-url%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







這個網誌中的熱門文章

Barbados

How to read a connectionString WITH PROVIDER in .NET Core?

Node.js Script on GitHub Pages or Amazon S3