js处理数据

12次阅读

共计 2813 个字符,预计需要花费 8 分钟才能阅读完成。

网址的处理

`https://www.awiizarii.com/index.php?ctl=Goods_Goods&met=goods&type=goods&gid=43558`

获取网址里参数的值

function getUrlParam(name){

    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r!=null) return unescape(r[2]); return null;
}

getUrlParam(gid) // 得到的值 43558

修改网址里参数的值

  function replaceParamVal(paramName,replaceWith) {var oUrl = this.location.href.toString();
            var re=eval('/('+ paramName+'=)([^&]*)/gi');
            var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
            // this.location = nUrl;
            return nUrl
        }
     replaceParamVal("gid",6)//https://www.awiizarii.com/index.php?ctl=Goods_Goods&met=goods&type=goods&gid=6

修改页面里的网址且不刷新浏览器

 

let historyJs = replaceParamVal("gid",data.data.goods_id)
     history.pushState(null, null, historyJs);
     

时间格式的转换

将时间戳转换为时间格式

formatDate(timestamp) {

    var date = new Date(timestamp);// 时间戳为 10 位需 *1000,时间戳为 13 位的话不需乘 1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
    var D = (date.getDate() < 10 ? '0'+(date.getDate()) : date.getDate()) + ' ';
    var h = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':';
    var m = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':';
    var s = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds());
    return Y+M+D+h+m+s;
},

将获取电脑时间转换成为可以用的时间

function time(){

      var d=new Date();
      var year=d.getFullYear();
      var month=change(d.getMonth()+1);
      var day=change(d.getDate());
      var hour=change(d.getHours());
      var minute=change(d.getMinutes());
      var second=change(d.getSeconds());
      function change(t){if(t<10){return "0"+t;}else{return t;}
      }
      var time=year+'-'+month+'-'+day+''+hour+':'+minute+':'+second;
    return time
}

处理字符串数据的方法

字符串转换成对象

var obj = JSON.parse(a)

提取字符串的一部分,并返回一个行的字符串 (与 substring 相同)【slice】

var arr1 = a.slice(1,4)
console.log(arr1)
//ell

通过将字符串划分为子串,将一个字符串做成一个字符串数组。(split)

var split = a.split("")
console.log(spliit)
// ["h","e","l","l","0"]

将两个或多个字符的文本组合起来,返回一个新的字符串(concat)

 var a = "hello";
 var b = ",world";
 var c = a.concat(b)
 console.log(c) //"hello,world"
 

返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1(indexOf)

  var index = a.indexOf("e") 
  consolg.log(index) //  1

  var index2 = a.indexOf("j")
  console.log(index2) // -1
  

返回指定位置的字符(charAt)

 var char = a.charAt (3)
 console.log(char) // 'l'

返回字符串中子串最后一处的索引(从右到左搜索),如果没有匹配项返回 -1(lastIndexOf)

var indexOf = a.lastIndexOf("l")
console.log(indexOf) // 3

检查一个字符串匹配一个正则表达式内容,如果没有匹配返回 null(match)

var re = new RegExp(/^\w+$/);
var is_alpha1 = a.match(re);
console.log(is_alphal) //  "hello"

返回字符串的一个子串,传入参数是起始位置到结束位置。(subString)

var sub = a.subString(2,4)
console.log(sub) // "lo"

返回字符串的一个子串,传入参数是起始位置和长度。(subStr)

var subStr = a.subStr(1,3)
console.log(subStr)
//  ell

用来查找匹配一个正则表达式的字符串,然后用新的字符串代替匹配的字符串 (replace)

var replace = a.replace(re,”Hello”)
console.log(replace)
//Hello

将整个字符串转成小写字母 (toLowerCase)

 var lowerCase = a.toLowerCase();
console.log(lowerCase)
//hello

将整个字符串转成大写字母 (toUpperCase)
var upperCase = a.toUpperCase
console.log(upperCase)
//HELLO

数组的处理方法

数组转字符串 (join)
var e = [1,2,3,4,5,6]
var b = a.join(“”);
console.log(b)
// “123456”

正文完
 0