自己写的一些公共js方法
/* 说明文件:这里用的都是es6的语法 导入导出,拿vue举个栗子,你只需要在用到的地方,按需要导入就行了,然后在mounted中直接可以拿来用
比如下面的手机****方法,在需要用到的地方import
不揍1:import { hidePhone } from '../utils/utils.js'
不揍2:
mounted(){
let hh=hidePhone(15308331208)
console.log(hh,'222222222222');
} */ /* @1 隐藏中间四位数的电话好嘛**** */
function hidePhone(phone){
// var tel = phone;
// // console.log(typeof tel);
// tel = "" + tel;
// // console.log(typeof tel);
// var reg=/(\d{3})\d{4}(\d{4})/;
// var tel1 = tel.replace(reg, "$1****$2")
// console.log(tel1);
/* 第二种方法,随意选一种嘛 都是先转换成字符串的 */
var tel = phone;
tel = "" + tel;
var ary = tel.split("");
console.log(ary);
ary.splice(3,4,"****");
var tel1=ary.join("");
return tel1 //153****1208
}
/*@2 年月日这个就有点多了(根据需求定制) */ /* 当前时间转换为年月日时分秒 */
function formatDate() {
var date = new Date();
var year = date.getFullYear();
var month = addZero(date.getMonth() + 1);
var day = addZero(date.getDate());
var hours = addZero(date.getHours());
var minutes = addZero(date.getMinutes());
var seconds = addZero(date.getSeconds());
// return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
return year + '-' + month + '-' + day;
}
/* 配合上面的函数一起使用 */
function addZero(num) {
return num < 10 ? '0' + num : num;
} /* @3 倒计时 这里只是说一下倒计时怎么计算,vue中直接拿过去用let hour 变成this.hour类推就行了*/
function countDown(residue){
setInterval(()=> {
let day = parseInt(residue / (24 * 3600)); //剩余天数
let hour = parseInt((residue) % (24 * 3600) / 3600); //剩余小时
let minute = parseInt((residue) % 3600 / 60); //剩余分钟
let second = parseInt((residue) % 60); //剩余秒数
residue--
console.log(day+'天'+hour+'小时'+minute+'分钟'+second+'秒')// 打印'1天1小时0分钟55秒'
},1000)
} /* @4 加减乘除 */
// 加法
function accAdd(num1,num2){
var r1,r2,m;
try{
r1 = num1.toString().split('.')[1].length;
}catch(e){
r1 = 0;
}
try{
r2=num2.toString().split(".")[1].length;
}catch(e){
r2=0;
}
m=Math.pow(10,Math.max(r1,r2)); //pow() 方法可返回 x 的 y 次幂的值。
// return (num1*m+num2*m)/m;
return Math.round(num1*m+num2*m)/m;//round() 方法可把一个数字舍入为最接近的整数。然后除以10的N次方
}
// 减法
function accSub(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));
//last modify by deeka
//动态控制精度长度
n=(r1>=r2)?r1:r2;
return ((arg1*m-arg2*m)/m).toFixed(n);
}
// 乘法
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) //pow() 方法可返回 x 的 y 次幂的值
}
//除法(要配合乘法函数一起使用)
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){} r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
// return (r1/r2)*pow(10,t2-t1); //改变这一句,这里相当于又是乘法了 so改变一下
return accMul(r1/r2,Math.pow(10,t2-t1))//调取乘法函数
} export {hidePhone,formatDate,countDown,accAdd,accSub,accMul,accDiv}
自己写的一些公共js方法的更多相关文章
- JS方法代理
作者:Jiang, Jilin JS作为一门脚本语言.十分easy上手.外加其灵活性,能够轻而易举地扩展功能.今天,我们就聊聊JS的方法代理. 方法代理是脚本语言中常见的方法扩展形式.这样的灵活的形式 ...
- vue 中如何对公共css、 js 方法进行单文件统一管理,全局调用
1.前言 最近,为公司开发交付的一个后台管理系统项目,我使用了 Vue 框架进行开发实践. 模块化.组件化.工程化的开发体验非常好.良好的 api,优雅的设计,对于工程师非常友好. 但是由于模块比较多 ...
- 公共的强制保留两位小数的js方法
强制保留两位小数的js方法 //写一个公共的强制保留两位小数的js方法 function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f)) { ...
- vue element-ui怎样提炼一个自己写的js当作公共js
vue element-ui怎样提炼一个自己写的js当作公共js请教一下各位大神,我刚刚触摸vue element-ui几天,写的一个清晰检索的input框,现在需当作项目公共的部分,可遭需的html ...
- 小程序-调用公共js对象方法/ app.js
在小程序中,如果在子页面想调用共公js的方法,需先在子页面js中先实例化app:具体过程如下 子页面js: 1 2 3 4 5 6 7 8 //调用公共js对象以便调用其方法 var app = ge ...
- js方法的封装
封装是为了更好的调用,当我们很多页面都需要同一种方法的时候,为了避免每个页面都需要进行重写方法,增加工作量,这个时候就需要我们对部分公共的方法进行封装,这样便于更好的进行调用 我在写接口的时候用到了 ...
- Java使用正则表达式取网页中的一段内容(以取Js方法为例)
关于正则表达式: 表1.常用的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串 ...
- JS 在open打开的子窗口页面中调用父窗口页面的JS方法
需求的情景如下: 1:做新增或修改等操作的时候打开一个新的浏览器窗口(使用window.open(参数等)方法) 2:在新增或修改等的页面上有返回按钮.重置按钮.保存按钮,对于返回就直接关闭此窗口(使 ...
- C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)
此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中 ...
随机推荐
- vue在jsx中使用for循环
return <div domPropsInnerHTML="titles" style={{ color: 'red', fontSize: '14px' }}> { ...
- selenium执行JavaScript语句:控制滚动条 聚焦元素 改变下拉选项
1. 执行js脚本 控制滚动条 # http://www.cnblogs.com/yoyoketang/p/6128655.html In [347]: js = "window.scrol ...
- Imcash:坐下来认真和你们说说话
筹备已久的Imcash终于快上线了,上线后会用作品向你们证明你们的选择是正确的.在准备的半年期间里,团队从调研.设计.市场.人员.技术方面都尽量按照最高要求来配置.从一站式服务平台到现在的资产管家,每 ...
- fastadmin模态框(弹出框)
用法: 在html页面新建一个按钮用来触发事件 <a href="javascript:;" class="btn btn-success btn-add &quo ...
- ECMAScript 6 变量的解构赋值
1.数组的结构赋值 1.1 基本用法 可以用“模式匹配”的写法给数组的元素赋值,只要等号两边的模式相同,左边的变量就会被赋予对应的值.注意:元素的值和位置是一一对应关系,如果对应的位置没有值,就会解构 ...
- 反素数ant HYSBZ - 1053(数学+dfs)
对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x ,则称x为反质数.例如,整数1,2,4,6等都是反质 ...
- POJ 1201 Intervals (经典) (差分约束)
<题目链接> 题目大意:给你$n$段区间,$a_i,b_i,c_i$ 表示在 $[a_i,b_i]$ 区间内至少要选择$c_i$个点.现在问你在满足这n个条件的情况下,最少要选多少个点? ...
- 什么是 B 树?
本文提到的「B-树」,就是「B树」,都是 B-tree 的翻译,里面不是减号-,是连接符-.因为有人把 B-tree 翻成 「B-树」,让人以为「B树」和「B-树」是两种树,实际上两者就是同一种树. ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
A. Base $i - 1$ Notation 两个性质: $2=1100$ $122=0$ 利用这两条性质实现高精度加法即可. 时间复杂度$O(n)$. #include<stdio.h&g ...
- 【安全性测试】Android测试中的一点小发现
在执行某个项目中的APP测试发现的两个问题,自然也是提供参考,作为经验记录下来. 一.通过apk的xml文件获取到某项目APP的账号和密码 使用eclipsel或者drozer,获得apk的xml文件 ...