我使用regex来验证所提供的url是否有效。为了测试有效性( google docs url或office 365 docs),我执行了以下操作,但它不起作用
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));当我有sharepoint时,这给了我false,而当我有‘url = "docs.google.com/document/“时,给了我true。
发布于 2018-11-15 09:22:07
在表达式的末尾有一个额外的结束括号),您应该删除它。
您还在+之后缺少了一个[A-Za-z] (因为没有加号,您只匹配一个字符)。
下面是一个有用的例子:
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));
注意:当使用RegExp构造函数时,不需要转义特殊字符。因此,如果不使用RegExp构造函数,则必须转义特殊字符,如下所示:
var urlRegx = /(docs\.google\.com|(http|https)):\/\/[A-Za-z]+-my\.sharepoint\.com/i;
https://stackoverflow.com/questions/53315906
复制相似问题