js工具函数

0、去除字符串两边的字符串

d = d.replace(/\"/g, "");

1、时间戳转化为日期时间

时间戳为10位需*1000,时间戳为13位的话不需乘1000,如果不乘以1000的话,需要Number()函数转化

function timestampToTime(timestamp) {
        var date = new Date(timestamp * 1000);//时间戳为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;
    }

    timestampToTime(1529111288);

2、js小数,加减乘除丢失精度的问题

//除法
function accDiv(arg1,arg2){
	
	var t1=0,t2=0,r1,r2;  
	try{t1=arg1.toString().split(".")[1].length}catch(e){}  
	try{t2=arg2.toString().split(".")[1].length}catch(e){}  
	with(Math){  
	r1=Number(arg1.toString().replace(".",""))  
	r2=Number(arg2.toString().replace(".","")) 
	return accMul((r1/r2),pow(10,t2-t1));  
	}  
}
 //乘法 
function accMul(arg1,arg2)  
{  
	 var m=0,s1=arg1.toString(),s2=arg2.toString();  
	 try{m+=s1.split(".")[1].length}catch(e){}  
	 try{m+=s2.split(".")[1].length}catch(e){}  
	 return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)  
}  
//加法  
function accAdd(arg1,arg2){  
	var r1,r2,m;  
	try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}  
	try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}  
	m=Math.pow(10,Math.max(r1,r2))  
	return (arg1*m+arg2*m)/m  
}  
//减法  
function Subtr(arg1,arg2){ 
  var r1,r2,m,n; 
  try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
  try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
  m=Math.pow(10,Math.max(r1,r2)); 
  n=(r1>=r2)?r1:r2; 
  return ((arg1*m-arg2*m)/m).toFixed(n); 
}

3、根据身份证号码自动获取出生日期和性别,html使用onkeyup事件

// 被保人输入身份证号
  function getMoreInfoInserd(index) {
      if ($("#newCertificateType" + index).val() == "身份证") {
        var idVal = $("#newCertificateNo" + index).val();
        var tBirth_y = idVal.substring(6, 10);
        var tBirth_m = idVal.substring(10, 12);
        var tBirth_d = idVal.substring(12, 14);
        var tBirth = tBirth_y + "-" + tBirth_m + "-" + tBirth_d;
        $("#newBirthData" + index).val(tBirth);
        // 性别
        if (idVal.length == 18) {
          var sex = idVal.charAt(16);
          if (sex % 2 == 0) {
            console.log( $(`.insurdSexClass${index}`)
              .find("input[title=女]"))
            $(`.insurdSexClass${index}`)
              .find("input[title=女]")
              .click();
          } else {
            $(`.insurdSexClass${index}`)
              .find("input[title=男]")
              .click();
          }
          layui.use("form", function() {
            var form = layui.form;
            form.render();
          });
        } else {
          //    alert('身份证非18位证件号码')
        }
      }
    }

4、layui表格选择全选的时候,获取表格全部的数据

layui.table.cache["表格ID"]

5、JS获取指定字符的前/后值

str = "12345?789”
str.split("?")[0]    输出为 12345

str.split("?")[1]    输出为 789

6、获取select选中的中文值和英文值

$("#select").val()
$("#select").find("option:selected").text()
$("#select_id option[value='"+msg.data.categoryId+"']").attr("selected","selected");

7、css让图片和文字垂直对齐

    padding-left:0;
    vertical-align:middle;
    display:inline-block;
    float: none;
    给需要对齐的图片、文字子元素全部添加以上的代码

8、点击图片预览大图

 $("body").on("click", 'img', function (e) {
            layer.photos({
                photos: { "data": [{ "src": e.target.src }] }
            });
        });

9、js复制功能、剪切板

https://www.jb51.net/article/135605.htm

10、JS获取url参数

function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

11、返回的箭头

父元素添加相对定位
 li:after {
    position: absolute;
    right: 0.4rem;
    top: 50%;
    display: inline-block;
    content: "";
    width: 7px;
    height: 7px;
    border: solid #d2d2d2;
    border-width: 1px 1px 0 0;
    -webkit-transform: translate(0,-50%) rotate(45deg);
    transform: translate(0,-50%) rotate(45deg);
}

对象数组根据属性值进行排序

 sortBy: function(attr,rev){
        //第二个参数没有传递 默认升序排列
        if(rev ==  undefined){
            rev = 1;
        }else{
            rev = (rev) ? 1 : -1;
        }
        
        return function(a,b){
            a = a[attr];
            b = b[attr];
            if(a < b){
                return rev * -1;
            }
            if(a > b){
                return rev * 1;
            }
            return 0;
        }
    },
    console.log(this.lineAddData.sort(this.sortBy('mykey')));

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

china-yun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值