1.el-input 常用布局

<el-input class="filter-item dialog-search" size="small"
@keyup.enter.native="searchBtn"
v-model.lazy.trim="searchKey"
   @change="check"
  :placeholder="请输入关键字" >
<el-button slot="append" icon="el-icon-search" @click.native="searchBtn"></el-button>
</el-input>

2.input的限制条件

①只能输入大于0的整数

check(value) {
let reg = /^[1-9]\d*$/;
var _this = this;
if (value) {
if (new RegExp(reg).test(value) == false) {
setTimeout(() => {
_this.actionDataForm.studNum = '';
               _this.errorTip = true;
        }, 500); }

       else { 
      this.errorTip = false;
    }
}
},

form表单验证中只能输入整数(方法一)

布局:

<el-form-item label="充值余额:" prop="charge_money" >
  <el-input placeholder="1-999999" size="small" v-model.number ="ruleForm.charge_money" @input="computedBalance" style="width: 238px;"></el-input> 元
</el-form-item>

js:

var checkBalance = (rule, value, callback) => {
if (!value) {
return callback(new Error('充值余额不能为空'));
}
setTimeout(() => {
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
} else {
if (Number(value) > 999999) {
callback(new Error('请输入1-999999的数字'));
} else {
callback();
}
}
}, 1000);
};

form表单验证中只能输入整数(方法二,麻烦)

布局:

<el-form-item label="充值余额:" prop="charge_money" >
  <el-input placeholder="1-999999" size="small" v-model ="ruleForm.charge_money" @input="computedBalance" style="width: 238px;"></el-input> 元
</el-form-item>

js:

var checkBalance = (rule, value, callback) => {
let reg = /^[1-9]\d*$/; //整数
let reg2 = /^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/; //小数
if (!value) {
return callback(new Error('充值余额不能为空'));
}
setTimeout(() => {
if (!reg.test(value)) {
if (reg2.test(value)) {
callback(new Error('请输入整数'));
} else {
callback(new Error('请输入符合规则的数字'));
}
} else if (Number(value) > 999999) {
callback(new Error('请输入1-999999的数字'));
} else {
callback();
}
}, 1000);
};

②只能输入数字(整数,浮点数)

check() {
let reg = /[^\d\.]/g;
if (this.searchKey && new RegExp(reg).test(this.searchKey)) {//非数字
this.$message({
message: '请输入正确的数字',
type: 'warning'
})
return;
}
...
...
},

③手机号验证

checkMobile (number) {
var partten = /^(13[0-9]|14[0-9]|15[0-9]|16[6]|18[0-9]|19[6,9]|17[0-9])\d{8}$/i;
return partten.test(number);
},

④邮箱验证

var checkEmail = (rule, value, callback) => {
if (!value) {
return callback();
}
if (value) {
setTimeout(() => {
var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!reg.test(value)) {
callback(new Error('请输入有效的电子邮箱!'));
} else {
callback();
}
}, 500);
}
}

⑤将输入框的内容全角转为半角

var ToCDB = function(str){
var tmp = "";
for(var i=0;i<str.length;i++)
{
if(str.charCodeAt(i)>65248&&str.charCodeAt(i)<65375)
{
tmp += String.fromCharCode(str.charCodeAt(i)-65248);
}else {
tmp += String.fromCharCode(str.charCodeAt(i));
}
}
return tmp
}

⑥名称字数限制(30个中文字符长度)

nameLimt (){
var reg = /[!@#$%^&*??\/\\“::;~+]/;
this.companyName = this.companyName.replace(reg,'') ;
var GetLength = function (str) {
//获得字符串实际长度,中文2,英文1
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
}
return realLength;
}; /**
* js截取字符串,中英文都能用
* @param str:需要截取的字符串
* @param len: 需要截取的长度
*/
var cutstr = function(str, len) {
var str_length = 0;
var str_len = 0;
var str_cut = new String();
str_len = str.length;
for (var i = 0; i < str_len; i++) {
var temp = str.charAt(i);
str_length++;
if (escape(temp).length > 4) {//中文字符的长度经编码之后大于4
str_length++;
}
str_cut = str_cut.concat(temp);
if (str_length >= len) {
return str_cut;
}
} //如果给定字符串小于指定长度,直接返回
if (str_length < len) {
return str;
}
} if(GetLength(this.companyName) > 60){
this.companyName = cutstr(this.companyName, 60);
return;
} }

 ⑦只能输入正整数和负整数

let reg = /^(0|[1-9][0-9]*|-[1-9][0-9]*)$/;

⑧以字符开头只能输入数字、字母、下划线

let reg = /^[a-zA-Z][a-zA-Z0-9_]*$/

⑨只取字符中的数字

var  str= '<ww-open-id type="departmentName" openid="12346"></ww-open-id>';
console.log(str.replace(/[^0-9]/ig,''))

3.el-input 和el-form一起使用时验证范例

export default {
data() {
var checkEmail = (rule, value, callback) => {
if (!value) {
return callback();
}
if (value) {
setTimeout(() => {
var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!reg.test(value)) {
callback(new Error('请输入有效的电子邮箱!'));
} else {
callback();
}
}, 500);
}
}; return {
ruleForm: {
name: '',
email: '',
},
rules: {
name: [
{required: true, message: '请输入姓名', trigger: 'blur'},
{min: 1, max: 15, message: '长度在 15 个字以内', trigger: 'blur'}
],
email: [
{validator: checkEmail, trigger: ['blur,change']}
], },
};
},
}

 4.Event

实时输入使用 @input

作者:smile.轉角

QQ:493177502

【vue】vue +element 搭建项目,el-input 常用的验证的更多相关文章

  1. Vue + TypeScript + Element 搭建简洁时尚的博客网站及踩坑记

    前言 本文讲解如何在 Vue 项目中使用 TypeScript 来搭建并开发项目,并在此过程中踩过的坑 . TypeScript 具有类型系统,且是 JavaScript 的超集,TypeScript ...

  2. 使用VUE CLI3.0搭建项目vue2+scss+element简易版

    1.安装Vue CLI 3 //三选一即可cnpm install -g @vue/cli npm install -g @vue/cli yarn global add @vue/cli 注意: 1 ...

  3. vue.js + element 搭建后台管理系统 笔记(一)

    此文仅记录本人在搭建后台系统过程中遇到的难点及注意点,如果能帮到各位自然是极好的~~~ 项目主要架构:vueJS.elementUI.scss 一.项目初始化 首先需要安装nodejs,安装方法就不在 ...

  4. vue教程3-webpack搭建项目

    vue-cli https://cli.vuejs.org/zh/ vue-cli是vue的命令行工具,对于创建项目,安装各种组件,运行项目都极为方便,是在开发vue中的必备工具 vue-cli基于n ...

  5. 【vue】vue +element 搭建项目,mock模拟数据(纯干货)

    1.安装mockjs依赖 (c)npm install mockjs --save-dev 2.安装axios(Ajax) (c)npm install --save axios 3.项目目录 4.设 ...

  6. 【vue】vue +element 搭建项目,将js函数变成vue的函数

    demo:时间转换 1.目录 <1>在src文件夹下新建文件夹prototypefns--------在此文件夹创建util.js, <2>在prototypefns下新建文件 ...

  7. 【vue】使用vue+element搭建项目,Tree树形控件使用

    1.依赖安装 本例中,使用render-content进行树节点内容的自定义,因此需要支持JSX语法.(见参考资料第3个) 在Git bash中运行一下指令 cnpm install\ babel-p ...

  8. 【vue】vue +element 搭建项目,要求既支持pc端又支持移动端

    使用场景:有适配pc端改为适配pc端和移动端,使用2套css 代码实现App.vue created: function () { if(document.documentElement.client ...

  9. 【vue】vue +element 搭建项目,组件之间通信

    父子组件通信 父 通过props属性给 子传递数据 子 操作 父  this.$parent.XXX 子通过$emit传递参数 或者通过vue-bus vue-bus既可以实现父子组件之间的通信,也可 ...

随机推荐

  1. vue-cli中安装方法

    源:http://www.cnblogs.com/jn1223/p/6656956.html vue-cli中安装方法   vue-cli脚手架模板是基于node下的npm来完成安装的所以首先需要安装 ...

  2. pycharm最新code码,分享给大家

    最新的pycharm激活码,到明年11月份,一名努力的Python程序员 这俩天,在忙学校布置的小项目,给大家更新少了,我会慢慢补上的,努力学pycharm,有什么问题可以问我哦,我竭尽所能帮大家解答 ...

  3. 2018-08-22 为中文API的简繁转换库添加迟到的持续集成

    前两天在V2EX偶遇反馈帖第一次见以汉字命名的 Java 类 - V2EX, 于是复习了一下半年多没碰的项目program-in-chinese/zhconverter. 前文介绍了发布过程: 在Ma ...

  4. Spring学习之旅(六)Spring AOP工作原理初探

    AOP(Aspect-Oriented  Programming,面向切面编程)是Spring提供的关键技术之一. AOP基于IoC,是对OOP(Object-Oriented Programming ...

  5. C# 利用SharpPcap实现网络包捕获嗅探

    本文是利用SharpPcap实现网络包的捕获的小例子,实现了端口监控,数据包捕获等功能,主要用于学习分享. 什么是SharpPcap? SharpPcap 是一个.NET 环境下的网络包捕获框架,基于 ...

  6. 2014/08/31 Zushi

    今天是逗子森户海滨浴场开放的最后一天,趁着最后的光景来这里透透气. 在学皮划艇准备下海的人们,貌似还挺有趣. 来自云端的上帝之手. 谁愿意和我一起向着夕阳弄桨. 夕阳西下,那里是家乡的方向. 灯塔和神 ...

  7. C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)

    一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整. 配置参数,可以放在配置文件中.环境变量中.或数据库表中(如果使用了数据库的话).通常,配置数据,以 k ...

  8. Jenkins 配置CI/CD任务

    本文演示如何通过Jenkins创建CI/CD任务,部署一整套微服务体系结构,并运行在之前搭建的mini云平台上. 如果是初始尝试实践,可能需要参考 快速搭建云原生架构的实践环境 和 Jhipster技 ...

  9. tkinter——GUI设计实操

    1.创建root: from tkinter import * root = Tk() root.title('GUI设计') # root.attributes("-alpha" ...

  10. TURN Server Windows 安装程序

    有了OfficeSIP TURN Server 安装包,记录一下. http://www.onlinedown.net/soft/94746.htm 开源代码(C#)和应用地址:https://sou ...