网址正则检测

/* 
在输入框中如果判断输入的是一个正确的网址
例如:用户输入一个字符串,验证是否符合URL网址的格式
*/
function checkURL(url) {
  // \w 元字符用于查找单词字符。单词字符包括:a-z、A-Z、0-9,以及下划线, 包含 _ (下划线) 字符。
  /* 
        协议
        ((http|https|ftp):\/\/)?
        域名
        (([\w-]+\.)+[a-z0-9]+)
        路径
        ((\/[^/?#]*)+)?
        问号传参
        (\?[^#]+)?
        哈希值
        (#.+)?
    */

  /* 
    ()表示捕获分组,()会把每个分组里的匹配的值保存起来,使用$n(n是一个数字,表示第n个捕获组的内容)
    (?:)表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来
    */
  let reg = /^(?:(http|https|ftp):\/\/)?((?:[\w-]+\.)+[a-z0-9]+)((?:\/[^/?#]*)+)?(\?[^#]+)?(#.+)?$/i;
  console.log(reg.exec(url));
  return reg.test(url);
}
let url = "http://www.zhufengpeixun.cn/index.html?lx=1&form=wx#video";
checkURL(url);
/* 
=>URL:格式
1.协议:// http/https/ftp
2.域名
    www.zhufengpeixun.cn
    zhufengpeixun.cn
    kbs.sports.qq.com
    kbs.sports.qq.com.cn
3.请求路径
    /
    /index.html
    /stu/index.html
    /stu/
4.问号传参
    ?xxx=xxx&xxx=xxx
5.哈希值
    #xxx
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值