vue常用的时间、手机号等的格式化方法

/*** 手机号格式化*/
export function phoneFilter(val) {let str = "";str = val.substr(0, 3) + "****" + val.substr(val.length - 4);return str;
}/*** h5兼容安卓和苹果的复制文本*/
export function copyText(contentUrl) {let oInput = document.createElement("input");oInput.type = "text";oInput.value = contentUrl;document.body.appendChild(oInput);oInput.select(); // 选择对象document.execCommand("Copy"); // 执行浏览器复制命令oInput.parentNode.removeChild(oInput); //执行完之后删除该对象
}
/*** 检测手机号格式*/
export function checkPhone(value) {var phone = value;if (!/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone)) {return false;} else {return true;}
}/*** 日期格式化,时间戳*/
export function format_date(dateDemo, format = "yyyy-MM-dd hh:mm:ss") {let date = new Date(dateDemo * 1000);if (date !== "Invalid Date") {var o = {"M+": date.getMonth() + 1, // month"d+": date.getDate(), // day"h+": date.getHours(), // hour"m+": date.getMinutes(), // minute"s+": date.getSeconds(), // second"q+": Math.floor((date.getMonth() + 3) / 3), // quarterS: date.getMilliseconds(), // millisecond};if (/(y+)/.test(format)) {format = format.replace(RegExp.$1,(date.getFullYear() + "").substr(4 - RegExp.$1.length));}for (var k in o) {if (new RegExp("(" + k + ")").test(format)) {format = format.replace(RegExp.$1,RegExp.$1.length === 1? o[k]: ("00" + o[k]).substr(("" + o[k]).length));}}return format;}return "";
}
/*** 验证身份证号*/
export function isCardNo(card) {// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符Xvar reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if (reg.test(card) === false) {return false;} else {return true;}
}
/*** 获取url中的query参数* @param {*} name */
export function getQueryString(name) {let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");let url = window.location.hash.split('?')[1]? window.location.hash.split('?')[1].match(reg): null;// console.log(url)if (url != null) {return decodeURI(url[2])//decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。} else {return null}
}
//由身份证号计算年龄
function getAge(id){// 1、先判断身份证号的正确性// 2、判断是否在世const year = id.substr(6,4)const month = id.substr(10,2)const day = id.substr(12,2)const timeBrth = new Date(`${year}/${month}/${day}`).getTime()const timeNow = new Date().getTime()const longTime = timeNow - timeBrthconst days = longTime / (1*24*60*60*1000)let result = ''if(days<31){result = parseInt(days) + '天'}else if(days<365){result = `${parseInt(days/30)}月${parseInt(days%30)}天`}else{result = `${parseInt(days/365)}岁${parseInt(days%365/30)}月${parseInt(days%365%30)}天`}return result
}
//判断数据类型
function _typeof(item){let res=Object.prototype.toString.call(item);res = res.split(" ")[1];res=res.substr(0,res.length-1);return res;}
//由身份证号判断性别
function getSex(id){// 1、先判断身份证号的正确性const sex = id.substr(16,1)return sex%2? '男': '女'
}
//函数节流
function throttle (func, wait ,type) { //函数节流 [func 函数 wait 延迟执行毫秒数 type 1 表时间戳版,2 表定时器版]if(type===1){let previous = 0;}else if(type===2){let timeout;}return function() {let context = this;let args = arguments;if(type===1){let now = Date.now();if (now - previous > wait) {func.apply(context, args);previous = now;}}else if(type===2){if (!timeout) {timeout = setTimeout(() => {timeout = null;func.apply(context, args)}, wait)}}}
}
//函数防抖
function debounce (func, wait, immediate) { //函数防抖[func 函数,wait 延迟执行毫秒数,immediate true 表立即执行,false 表非立即执行,立即执行是触发事件后函数会立即执行,然后n秒内不触发事件才能继续执行函数的效果]let timeout;return function() {let context = this;let args = arguments;if (timeout) clearTimeout(timeout);if (immediate) {var callNow = !timeout;timeout = setTimeout(() => {timeout = null;}, wait)if (callNow) func.apply(context, args)} else {timeout = setTimeout(function() {func.apply(context, args)}, wait);}}
}
//阿拉伯数字转中文大写数字
function numberToChinese (num) { // 将阿拉伯数字翻译成中文的大写数字let AA = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十')let BB = new Array('', '十', '百', '仟', '萬', '億', '点', '')let a = ('' + num).replace(/(^0*)/g, '').split('.')let k = 0let re = ''for (let i = a[0].length - 1; i >= 0; i--) {switch (k) {case 0:re = BB[7] + rebreakcase 4:if (!new RegExp('0{4}//d{' + (a[0].length - i - 1) + '}$').test(a[0])) {re = BB[4] + re}breakcase 8:re = BB[5] + reBB[7] = BB[5]k = 0break}if (k % 4 === 2 && a[0].charAt(i + 2) !== 0 && a[0].charAt(i + 1) === 0) {re = AA[0] + re}if (a[0].charAt(i) !== 0) {re = AA[a[0].charAt(i)] + BB[k % 4] + re}k++}if (a.length > 1) { // 加上小数部分(如果有小数部分)re += BB[6]for (let i = 0; i < a[1].length; i++) {re += AA[a[1].charAt(i)]}}if (re === '一十') {re = '十'}if (re.match(/^一/) && re.length === 3) {re = re.replace('一', '')}return re
}
//去除字符串空格
function trim (str, type) { // 去除空格, type:  1-所有空格  2-前后空格  3-前空格 4-后空格type = type || 1switch (type) {case 1:return str.replace(/\s+/g, '')case 2:return str.replace(/(^\s*)|(\s*$)/g, '')case 3:return str.replace(/(^\s*)/g, '')case 4:return str.replace(/(\s*$)/g, '')default:return str}
}
//设备判断:android、ios、web
function isDevice () { // 判断是android还是ios还是webvar ua = navigator.userAgent.toLowerCase()if (ua.match(/iPhone\sOS/i) === 'iphone os' || ua.match(/iPad/i) === 'ipad') { // iosreturn 'iOS'}if (ua.match(/Android/i) === 'android') {return 'Android'}return 'Web'
}
/*** 验证电子邮箱格式*/
function email(value) {return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);
}/*** 验证手机格式*/
function mobile(value) {return /^1[3-9]\d{9}$/.test(value)
}/*** 验证URL格式*/
function url(value) {return /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/.test(value)
}/*** 验证日期格式*/
function date(value) {return !/Invalid|NaN/.test(new Date(value).toString())
}/*** 验证ISO类型的日期格式*/
function dateISO(value) {return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)
}/*** 验证十进制数字*/
function number(value) {return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value)
}/*** 验证整数*/
function digits(value) {return /^\d+$/.test(value)
}/*** 验证身份证号码*/
function idCard(value) {return /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(value)
}/*** 是否车牌号*/
function carNo(value) {// 新能源车牌const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;// 旧车牌const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;if (value.length === 7) {return creg.test(value);} else if (value.length === 8) {return xreg.test(value);} else {return false;}
}/*** 金额,只允许2位小数*/
function amount(value) {//金额,只允许保留两位小数return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value);
}/*** 中文*/
function chinese(value) {let reg = /^[\u4e00-\u9fa5]+$/gi;return reg.test(value);
}/*** 只能输入字母*/
function letter(value) {return /^[a-zA-Z]*$/.test(value);
}/*** 只能是字母或者数字*/
function enOrNum(value) {//英文或者数字let reg = /^[0-9a-zA-Z]*$/g;return reg.test(value);
}/*** 验证是否包含某个值*/
function contains(value, param) {return value.indexOf(param) >= 0
}/*** 验证一个值范围[min, max]*/
function range(value, param) {return value >= param[0] && value <= param[1]
}/*** 验证一个长度范围[min, max]*/
function rangeLength(value, param) {return value.length >= param[0] && value.length <= param[1]
}/*** 是否固定电话*/
function landline(value) {let reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/;return reg.test(value);
}/*** 判断是否为空*/
function empty(value) {switch (typeof value) {case 'undefined':return true;case 'string':if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true;break;case 'boolean':if (!value) return true;break;case 'number':if (0 === value || isNaN(value)) return true;break;case 'object':if (null === value || value.length === 0) return true;for (var i in value) {return false;}return true;}return false;
}/*** 是否json字符串*/
function jsonString(value) {if (typeof value == 'string') {try {var obj = JSON.parse(value);if (typeof obj == 'object' && obj) {return true;} else {return false;}} catch (e) {return false;}}return false;
}/*** 是否数组*/
function array(value) {if (typeof Array.isArray === "function") {return Array.isArray(value);} else {return Object.prototype.toString.call(value) === "[object Array]";}
}/*** 是否对象*/
function object(value) {return Object.prototype.toString.call(value) === '[object Object]';
}/*** 是否短信验证码*/
function code(value, len = 6) {return new RegExp(`^\\d{${len}}$`).test(value);
}export default {throttle,debounce,numberToChinese,trim,isDevice,email,mobile,url,date,dateISO,number,digits,idCard,carNo,amount,chinese,letter,enOrNum,contains,range,rangeLength,empty,isEmpty: empty,jsonString,landline,object,array,code
}

vue常用的时间、手机号等的格式化方法相关推荐

  1. Vue过滤器的简单使用--实时显示格式化的时间

    Vue的过滤器的使用是在{{}}插值的尾部添加一个管道符  | 过滤的规则是自己定义的,通过给Vue实例添加选项filters来设置 通过过滤器对时间进行格式化从而实时显示时间 <!doctyp ...

  2. SQL日期时间常用格式化方法

    日期时间常用格式化方法 1 日期(+时间)→unix时间戳 2 unix时间戳→日期.时间.日期+时间 3 时间格式化 4 毫秒的处理 日常工作中接触到的时间类型一般而言有4种,分别是: unix时间 ...

  3. Vue el-date-picker 组件时间格式化方式

    Vue el-date-picker 组件时间格式化方式 1.使用el-date-picker组件 <el-form-item label="生日" :label-width ...

  4. vue中通过monment.js插件来将时间戳转换为常用的时间格式

    vue中通过monment.js插件来将时间戳转换为常用的时间格式 在项目中很多时候需要展示时间信息,我们一般都是用时间戳来传输时间信息,但是我们在页面展示的话是我们想要的常见格式,比如:2021-4 ...

  5. python按年月日输出字符串_python日期时间转为字符串或者格式化输出的实例

    python日期时间转为字符串或者格式化输出的实例 如下所示: 年月日时分秒 >>> print datetime.datetime.now().strftime("%Y- ...

  6. 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类

    开发中经常涉及到时间与日期,记录下Java中与时间和日期相关的API JDK8之前与时间日期相关的类 java.lang.System类 System类提供了一个公共的静态方法currentTimes ...

  7. [Vue.js] 基础 -- Vue常用特性

    Vue常用特性 常用特性概览 表单操作 自定义指令 计算属性 过滤器 侦听器 生命周期 表单操作 基于Vue的表单操作 Input 单行文本 textarea 多行文本 select 下拉多选 rad ...

  8. mysql中常用的时间工具

    本文记录下mysql中常用的时间工具 文章目录 概述 概述 sql文件 #查询现在的时间 SELECT now() now#格式化时间为时分秒 SELECT DATE_FORMAT(now(), '% ...

  9. Vue常用特性~非常详细哦,带源码资料

    下面是对Vue常用特性的整理,希望可以帮助到有需要的小伙伴~ 源码资料: 链接:https://pan.baidu.com/s/14rRYtUfXkO6mxUtCh4FCcA 提取码:e0sw 文章目 ...

最新文章

  1. Python字符串方法:字符串拼接、截取、转数字
  2. 90%的开发都不太考虑这个,但只要出问题直接公司完蛋!
  3. 自律到极致-人生才精致:第6期
  4. 如何动态调试Python的第三方库
  5. OVS vswitchd启动(三十八)
  6. 行千里,看山城轻轨穿楼越林;致广大,望重庆交通桥上桥下
  7. 去小公司了解哪些工具?
  8. opencv-api erode
  9. 【报告分享】2019全球数字经济新图景.pdf
  10. selenium中js定位_Selenium中的定位剂
  11. 打车界的“拼多多”?
  12. phpstorm取消自动保存,修改未保存的文件显示*星号
  13. do while 执行1次
  14. Windows系统怎么将dmg文件转换为iso格式
  15. ActiveMQ笔记(一)
  16. HTML5游戏实战 1 50行代码实现正面跑酷游戏
  17. 【3D建模制作技巧分享】Maya如何给模型上色与渲染
  18. Android 10 SystemUI 如何隐藏状态栏输入法图标
  19. 解开Kafka神秘的面纱(二):Kafka的高效读写与消息安全
  20. Windows获取模块基地址

热门文章

  1. golang开发环境之Sublime Text 2+GoSublime+gocode+MarGo
  2. 玩客云pc端_玩客云下载 玩客云电脑版下载
  3. 数据结构习题集作业代码(第一章)
  4. rgb sw 线主板接口在哪_纯白信仰打造RGB主机,四件套提升100%性能-Thermaltake
  5. 【项目经验】拦截器拦截入参出参
  6. 用 Python 统计字数
  7. H桥驱动电机,STM32 PWM互补输出功能误用分析
  8. Linux小知识:查看当前最耗费CPU的线程(Arthas工具)
  9. choice量化交易数据接口引发的问题
  10. 快速提升网站排名_使用快排优化的方法