• js 格式化地址栏字符串成对象


    前端表单中的数据提交给服务器后,是具有一定格式的,后台若要用到提交的数据,是需要进行一定的转换的

    以提交至浏览器页面地址栏为例,将数据装换成对象

    eg:http://www.baidu.com?name=jack&age=30&sex=0-------->   {name:"jack",age:"30",sex:"0"}

    步骤方法:

      1、从?开始,利用String对象中的  split()方法 .split("?")将该字符串分成两个字符串-->  ["http://www.baidu.com","name=jack&age=30&sex=0"]

      2、得到数组的第二个数据:.split("?")[1]-->"name=jack&age=30&sex=0",再利用方法split(),以&为分隔符,分成三段-->["name=jack","age=30","age=30"

      3、再用循环将数组里的三个数据以“=”分隔成二维数组

      4、循环遍历得到二维数组里的数据,创建一个空对象,将数据以键值对形式存入对象中,完成转换

      

      具体实现代码如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>格式化地址栏字符串成对象</title>
        </head>
        <body>
            <script type="text/javascript">
                var str = "http://www.baidu.com?name=jack&age=30&sex=0";
                function fun(str){
    //                方法1
    //                var num = str.indexOf("?");
    //                var str1 = str.slice(num+1);
    //                var str2  = str1.split("&");
    //                for (var i=0;i<str2.length;i++) {
    //                    str2[i] = str2[i].split("=");
    //                }
    //                console.log(str2);
    //                var obj = {};
    //                for (var j = 0;j<str2.length;j++) {
    //                    if (!isNaN(str2[j][1])) {
    //                        str2[j][1] = Number(str2[j][1]);
    //                    }
    //                    obj[str2[j][0]]=str2[j][1];
    //                }
    //          方法2:
    var str1 = str.split("?")[1]; var str2 = str1.split("&"); var obj = {} console.log(str2) for(var i = 0;i<str2.length;i++){ var a = str2[i].split("="); console.log(a) obj[a[0]] = a[1] } return obj } console.log(fun(str)); //输出结果格式:(对象) // { // name : "jack", // age : 30, // sex : 0 // } </script> </body> </html>

     结果:

  • 相关阅读:
    【转】深入解析Hashtable、Dictionary、SortedDictionary、SortedList
    [转]HttpModule与HttpHandler详解
    【转】ASP.NET中大文件下载的跟踪和恢复
    CentOS7安装docker
    C#编写串口通信程序(转)
    解析Java的多线程机制
    WebBrowser控件使用详解
    winform窗体中嵌入网页(DHTML代码和winfrom应用程序交互)
    Android 中文 API——android.widget合集(中)(50篇)(chm格式)
    C#中如何处理父窗口及其子窗口标题
  • 原文地址:https://www.cnblogs.com/wcx-20151115-hzz/p/10110553.html
Copyright © 2020-2023  润新知