首先在src目录下创建global目录,在global目录下创建index.js。

export default {
install(Vue) {
var that = this
// 1. 添加全局方法或属性
// ue.global = this
// 2. 添加全局资源
// 3. 注入组件
Vue.mixin({
created() {
this.global = that
}
})
// 大于一的整数验证,this.$jfjl,所有验证方法无判空功能,如若判空,请用required: true
Vue.prototype.$zsReg = (rule, value, callback) => {
let reg = /^(([-]\d+)|[-])?$/; //大于一的整数
if (reg.test(value) || !value) {
callback();
} else {
return callback(new Error("请输入大于1的整数"));
}
}
// 金额的校验
Vue.prototype.$jeReg = (rule, value, callback) => {
if (value > || value < ) {
callback(new Error("请输入小于200并且大于1的数字"));
} else {
let reg = /(^[-]([-]+)?(\.[-]{,})?$)|(^(){}$)|(^[-]\.[-]([-])?$)/; //1-200的数字,小数点后保留两位
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入正确的金额"));
}
}
}
Vue.prototype.$jeRegMax = (rule, value, callback) => {
let reg = /(^[-]([-]+)?(\.[-]{,})?$)|(^(){}$)|(^[-]\.[-]([-])?$)/; //小数点后保留两位
if (reg.test(value) || !value) {
callback();
} else {
return callback(new Error("请输入正确的金额"));
}
}
// 手机号的验证
Vue.prototype.$sjhReg = (rule, value, callback) => {
let reg = /^[]\d{}$/; //手机号码正则
if (reg.test(value)) {
callback();
} else {
return callback(new Error("请输入正确的手机号"));
}
}
// 密码校验
Vue.prototype.$parsswordReg = (rule, value, callback) => {
let reg = /^(?![-]*$)[a-zA-Z0-]{,}$/; //密码校验
if (reg.test(value)) {
callback();
} else {
return callback(new Error("密码需要包含6-20位数字或字母,至少包含一位字母"));
}
}
Vue.prototype.$webReg = (rule, value, callback) => {
let reg = /^([hH][tT]{}[pP]:\/\/|[hH][tT]{}[pP][sS]:\/\/)(([A-Za-z0--~]+)\.)+([A-Za-z0--~\/])+$/; //网址的校验
if (reg.test(value)) {
callback();
} else {
return callback(new Error("链接地址不正确"));
}
}
Vue.prototype.$dateFormat = (timestamp) => {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + < ? '' + (date.getMonth() + ) : date.getMonth() + ) + '-';
var D = (date.getDate() < ? '' + date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < ? '' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < ? '' + date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() < ? '' + date.getSeconds() : date.getSeconds());
return Y + M + D + h + m + s;
}
Vue.prototype.$dateFormatDay = (timestamp) => {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + < ? '' + (date.getMonth() + ) : date.getMonth() + ) + '-';
var D = (date.getDate() < ? '' + date.getDate() : date.getDate()) + ' ';
return Y + M + D;
}
}
}

  这里面是常用的几个element-ui自定义验证和时间格式化的代码,可以参考写一下自己需要的格式化或者验证规则。

  然后我们需要在main.js引入global,并且使用它

import global from './global'
Vue.use(global)

  之后我们就可以直接在页面中使用this.的方法调用这些自定义规则了。

vue定义global.js,挂载在vue原型上面使用的更多相关文章

  1. 关于Vue中main.js,App.vue,index.html之间关系进行总结

    在初始化的Vue项目中,我们最先接触到的就是main.js,App.vue,index.html这三个文件,我们从培训视频或者官方文档上可以了解到: index.html---主页,项目入口 App. ...

  2. 050——VUE中使用js库控制vue过渡动作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. vue 在main.js里使用vue实例

    可以用 Vue.prototype 比如 Vue.prototype.$indicator.close(); 关闭正在加载的动画

  4. VUE - vue.runtime.esm.js?6e6d:619 [Vue warn]: Do not use built-in or reserved HTML elements as component i

    <script> export default {     name:'header'       //  不要使用内置或保留的HTML元素 , 改为Header或者置或保留的HTML元素 ...

  5. 02 . 处理axios的三个问题 :设置基路径/axios挂载到vue原型/请求时自动携带token

    //使用API时必须在请求头中使用 Authorization 字段提供 token 令牌 import axios from 'axios' // 处理axios的三个问题 // 处理一:基路径 a ...

  6. vue 之node.js 02

    文档 铺垫 以前网页制作web1.0 如今是web2.0-->交互式操作 前端工具 grunt gulp webpack :打包机 作用:将项目中的js,css,img,font,html等进行 ...

  7. Vue解析一之挂载全局变量与方法

    1.在mian.js里面进行Vue对象的原型连的挂载Vue.prototype.$ajax = Ajax; 2.使用Mixin: VuVue.mixin({ data(){ return { Host ...

  8. 06Vue.js快速入门-Vue组件化开发

    组件其实就是一个拥有样式.动画.js逻辑.HTML结构的综合块.前端组件化确实让大的前端团队更高效的开发前端项目.而作为前端比较流行的框架之一,Vue的组件和也做的非常彻底,而且有自己的特色.尤其是她 ...

  9. require.js 加载 vue组件 r.js 合并压缩

    https://www.taoquns.com 自己搭的个人博客 require.js 参考阮一峰 Javascript模块化编程(三):require.js的用法 r.js 合并压缩 参考司徒正美 ...

随机推荐

  1. P5650 基础字符串练习题

    设定'0'权值为1,设定'1'权值为-1 然后就是最大子段和 #include <cstdio> #include <algorithm> #include <cstri ...

  2. Vue-项目重要配置

    Vue配置axios ''' 1)安装插件(一定要在项目目录下): >: cnpm install axios 2)在main.js中配置: import axios from 'axios' ...

  3. qs.stringify()与JSON.stringify()区别

    qs.stringify.JSON.stringify虽然都是序列化,但他俩却不是一个东西. qs是nodejs的一个模块 JSON.stringify是js自带的方法,是将json对象转换为json ...

  4. Java8-Stream-No.08

    import java.util.Arrays; import java.util.stream.IntStream; import java.util.stream.Stream; public c ...

  5. BZOJ 3210: 花神的浇花集会 (切比雪夫距离)

    GXZlegend 切比雪夫和曼哈顿距离的互相转化看这里 传送门 CODE #include <bits/stdc++.h> using namespace std; #define LL ...

  6. sqlalchemy 基本操作

    表操作 models.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ...

  7. hierarchyviewer

    支持的版本更低

  8. WebService如何封装XML请求 以及解析接口返回的XML

    原 WebService如何封装XML请求 以及解析接口返回的XML 置顶 2019年08月16日 15:00:47 童子泛舟 阅读数 28 标签: XML解析WebService第三方API 更多 ...

  9. centos 升级内核方法

    方法1:rpm安装方式 rpm安装包可以通过这个网站下载: 这个是CentOS6 x64 : http://elrepo.org/linux/kernel/el6/x86_64/RPMS/ 这个是Ce ...

  10. nextUntil([exp|ele][,fil]) 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。

    nextUntil([exp|ele][,fil]) 概述 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止. 如果提供的jQuery代表了一组DOM元素,.nextUntil()方法也能让 ...