zoukankan      html  css  js  c++  java
  • 一道关于js正则表达式的面试题

    这道面试题明显是要用到正则表达式来解决的,由于太久没有写正则表达式了,一时之间竟然写不出来,所以记录一下笔记,下面直接上代码:

     1 function parseUrl(str) {
     2     // 判断是否传入参数
     3     if (str) {
     4         var obj = {};
     5         var queryArr = [];
     6         // 正则表达式规则
     7         var re = /^(httpw?)://([0-9a-zA-Z.]+)([a-zA-Z0-9/]+)?([a-zA-Z0-9=&]+)#([0-9a-zA-Z.]+)/;
     8         // 利用正则表达式将字符串分组
     9         var reArr = re.exec(str);
    10         if (reArr) {
    11             obj.peotocol = reArr[1];
    12             obj.host = reArr[2];
    13             obj.path = reArr[3];
    14             queryArr = reArr[4].split(/[&=]+/);
    15             obj.query = {};
    16             for (var i = 0; i < queryArr.length; i += 2) {
    17                 obj.query[queryArr[i]] = queryArr[i + 1];
    18             }
    19             obj.hash = reArr[5]
    20             return obj;
    21         } else {
    22             return null;
    23         }
    24     } else {
    25         return null;
    26     }
    27 }

    完。

  • 相关阅读:
    软件git装的过程
    深入理解多态
    深入.net框架
    深入C#数据类型
    JavaScript 性能优化(2)
    JAVA: 集合框架
    JavaScript 性能优化(1)
    JavaScript 常用进度条
    Java: 随机生成字符串并排序
    JAVA: String详解
  • 原文地址:https://www.cnblogs.com/yuanyiming/p/10751544.html
Copyright © 2011-2022 走看看