相关疑难解决方法(0)

URI正则表达式:如果URL有效,则用空字符串替换http://,https://,ftp://

我有一个简单的URL验证器.url验证器可能像其他验证器一样工作.

现在我想,如果传递了URL,请使用https://,http://并将其删除var b.

所以我做的是我制作另一个正则表达式,它捕获https://,http://,ftp://等,并说如果url通过了长测试,得到第二个测试并用空字符串替换它.

这是我想出的:

$("button").on('click', function () {
   var url = $('#in').val();

   var match = /^([a-z][a-z0-9\*\-\.]*):\/\/(?:(?:(?:[\w\.\-\+!$&'\(\)*\+,;=]|%[0-9a-f]{2})+:)*(?:[\w\.\-\+%!$&'\(\)*\+,;=]|%[0-9a-f]{2})+@)?(?:(?:[a-z0-9\-\.]|%[0-9a-f]{2})+|(?:\[(?:[0-9a-f]{0,4}:)*(?:[0-9a-f]{0,4})\]))(?::[0-9]+)?(?:[\/|\?](?:[\w#!:\.\?\+=&@!$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})*)?$/;
   var protomatch = /^(https?|ftp):\/\/(.*)/;


   if (match.test(url)) { // IF VALID
      console.log(url + ' is valid');

      // if valid replace http, https, ftp etc with empty
      var b = url.replace(protomatch.test(url), '');
      console.log(b)

   } else { // IF INVALID
      console.log('not valid')
   }

});
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?

javascript regex validation jquery uri

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

javascript ×1

jquery ×1

regex ×1

uri ×1

validation ×1