vue验证整数_前端Vue中常用rules校验规则

前端Vue中常用rules校验规则

1、是否合法IP地址

export function validateIP(rule, value,callback) {if(value==''||value==undefined||value==null){

callback();

}else{const reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\![](https://user-gold-cdn.xitu.io/2019/11/22/16e9182103044230?w=900&h=500&f=gif&s=662884).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;

if ((!reg.test(value)) && value != '') {

callback(new Error('请输入正确的IP地址'));

}else{

callback();

}

}

}

2、是否手机号码或者固话

export function validatePhoneTwo(rule, value, callback) {const reg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/;;if (value == '' || value == undefined || value == null) {

callback();

}else{if ((!reg.test(value)) && value != '') {

callback(new Error('请输入正确的电话号码或者固话号码'));

}else{

callback();

}

}

}

3、是否固话

export function validateTelphone(rule, value,callback) {const reg =/0\d{2,3}-\d{7,8}/;if(value==''||value==undefined||value==null){

callback();

}else{if ((!reg.test(value)) && value != '') {

callback(new Error('请输入正确的固定电话)'));

}else{

callback();

}

}

}

4、是否手机号码

export function validatePhone(rule, value,callback) {const reg =/^[1][3-9][0-9]{9}$/;if(value==''||value==undefined||value==null){

callback();

}else{if ((!reg.test(value)) && value != '') {

callback(new Error('请输入正确的电话号码'));

}else{

callback();

}

}

}

5、是否身份证号码

export function validateIdNo(rule, value,callback) {const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(value==''||value==undefined||value==null){

callback();

}else{if ((!reg.test(value)) && value != '') {

callback(new Error('请输入正确的身份证号码'));

}else{

callback();

}

}

}

6、是否邮箱

export function validateEMail(rule, value,callback) {const reg =/^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/;if(value==''||value==undefined||value==null){

callback();

}else{if (!reg.test(value)){

callback(new Error('请输入正确的邮箱'));

}else{

callback();

}

}

}

7、合法url

export function validateURL(url) {const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;

returnurlregex.test(url);

}

8、验证内容是否包含英文数字以及下划线

export function isPassword(rule, value, callback) {const reg =/^[_a-zA-Z0-9]+$/;if(value==''||value==undefined||value==null){

callback();

}else{if (!reg.test(value)){

callback(new Error('仅由英文字母,数字以及下划线组成'));

}else{

callback();

}

}

}

9、自动检验数值的范围

export function checkMax20000(rule, value, callback) {if (value == '' || value == undefined || value == null) {

callback();

}else if (!Number(value)) {

callback(new Error('请输入[1,20000]之间的数字'));

}else if (value < 1 || value > 20000) {

callback(new Error('请输入[1,20000]之间的数字'));

}else{

callback();

}

}

10、验证数字输入框最大数值

export function checkMaxVal(rule, value,callback) {if (value < 0 || value >最大值) {

callback(new Error('请输入[0,最大值]之间的数字'));

}else{

callback();

}

}

11、验证是否1-99之间

export function isOneToNinetyNine(rule, value, callback) {if (!value) {return callback(new Error('输入不可以为空'));

}

setTimeout(()=>{if (!Number(value)) {

callback(new Error('请输入正整数'));

}else{const re = /^[1-9][0-9]{0,1}$/;const rsCheck =re.test(value);if (!rsCheck) {

callback(new Error('请输入正整数,值为【1,99】'));

}else{

callback();

}

}

},0);

}

12、验证是否整数

export function isInteger(rule, value, callback) {if (!value) {return callback(new Error('输入不可以为空'));

}

setTimeout(()=>{if (!Number(value)) {

callback(new Error('请输入正整数'));

}else{const re = /^[0-9]*[1-9][0-9]*$/;const rsCheck =re.test(value);if (!rsCheck) {

callback(new Error('请输入正整数'));

}else{

callback();

}

}

},0);

}

13、验证是否整数,非必填

export function isIntegerNotMust(rule, value, callback) {if (!value) {

callback();

}

setTimeout(()=>{if (!Number(value)) {

callback(new Error('请输入正整数'));

}else{const re = /^[0-9]*[1-9][0-9]*$/;const rsCheck =re.test(value);if (!rsCheck) {

callback(new Error('请输入正整数'));

}else{

callback();

}

}

},1000);

}

14、 验证是否是[0-1]的小数

export function isDecimal(rule, value, callback) {if (!value) {return callback(new Error('输入不可以为空'));

}

setTimeout(()=>{if (!Number(value)) {

callback(new Error('请输入[0,1]之间的数字'));

}else{if (value < 0 || value > 1) {

callback(new Error('请输入[0,1]之间的数字'));

}else{

callback();

}

}

},100);

}

15、 验证是否是[1-10]的小数,即不可以等于0

export function isBtnOneToTen(rule, value, callback) {if (typeof value == 'undefined') {return callback(new Error('输入不可以为空'));

}

setTimeout(()=>{if (!Number(value)) {

callback(new Error('请输入正整数,值为[1,10]'));

}else{if (!(value == '1' || value == '2' || value == '3' || value == '4' || value == '5' || value == '6' || value == '7' || value == '8' || value == '9' || value == '10')) {

callback(new Error('请输入正整数,值为[1,10]'));

}else{

callback();

}

}

},100);

}

16、验证是否是[1-100]的小数,即不可以等于0

export function isBtnOneToHundred(rule, value, callback) {if (!value) {return callback(new Error('输入不可以为空'));

}

setTimeout(()=>{if (!Number(value)) {

callback(new Error('请输入整数,值为[1,100]'));

}else{if (value < 1 || value > 100) {

callback(new Error('请输入整数,值为[1,100]'));

}else{

callback();

}

}

},100);

}

17、验证是否是[0-100]的小数

export function isBtnZeroToHundred(rule, value, callback) {if (!value) {return callback(new Error('输入不可以为空'));

}

setTimeout(()=>{if (!Number(value)) {

callback(new Error('请输入[1,100]之间的数字'));

}else{if (value < 0 || value > 100) {

callback(new Error('请输入[1,100]之间的数字'));

}else{

callback();

}

}

},100);

}

18、验证端口是否在[0,65535]之间

export function isPort(rule, value, callback) {if (!value) {return callback(new Error('输入不可以为空'));

}

setTimeout(()=>{if (value == '' || typeof(value) ==undefined) {

callback(new Error('请输入端口值'));

}else{const re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;const rsCheck =re.test(value);if (!rsCheck) {

callback(new Error('请输入在[0-65535]之间的端口值'));

}else{

callback();

}

}

},100);

}

19、验证端口是否在[0,65535]之间,非必填,isMust表示是否必填

export function isCheckPort(rule, value, callback) {if (!value) {

callback();

}

setTimeout(()=>{if (value == '' || typeof(value) ==undefined) {//callback(new Error('请输入端口值'));

} else{const re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;const rsCheck =re.test(value);if (!rsCheck) {

callback(new Error('请输入在[0-65535]之间的端口值'));

}else{

callback();

}

}

},100);

}

20、小写字母

export function validateLowerCase(val) {const reg = /^[a-z]+$/;returnreg.test(val);

}

22、两位小数验证

const validateValidity = (rule, value, callback) =>{if (!/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)) {

callback(new Error('最多两位小数!!!'));

}else{

callback();

}

};

23、是否大写字母

export function validateUpperCase(val) {const reg = /^[A-Z]+$/;returnreg.test(val);

}

24、是否大小写字母

export function validatAlphabets(val) {const reg = /^[A-Za-z]+$/;returnreg.test(val);

}

25、密码校验

export const validatePsdReg = (rule, value, callback) =>{if (!value) {return callback(new Error('请输入密码'))

}if (!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/.test(value)) {

callback(new Error('请输入6-20位英文字母、数字或者符号(除空格),且字母、数字和标点符号至少包含两种'))

}else{

callback()

}

}

26、中文校验

export const validateContacts = (rule, value, callback) =>{if (!value) {return callback(new Error('请输入中文'))

}if (!/^[\u0391-\uFFE5A-Za-z]+$/.test(value)) {

callback(new Error('不可输入特殊字符'))

}else{

callback()

}

}

27、 账号校验

export const validateCode = (rule, value, callback) =>{if (!value) {return callback(new Error('请输入账号'))

}if (!/^(?![0-9]*$)(?![a-zA-Z]*$)[a-zA-Z0-9]{6,20}$/.test(value)) {

callback(new Error('账号必须为6-20位字母和数字组合'))

}else{

callback()

}

}

28 、纯数字校验

export const validateNumber = (rule, value, callback) =>{

let numberReg= /^\d+$|^\d+[.]?\d+$/

if (value !== '') {if (!numberReg.test(value)) {

callback(new Error('请输入数字'))

}else{

callback()

}

}else{

callback(new Error('请输入值'))

}

}

29、最多一位小数

const onePoint = (rule, value, callback) =>{if (!/^[0-9]+([.]{1}[0-9]{1})?$/.test(value)) {

callback(new Error('最多一位小数!!!'));

}else{

callback();

}

};

使用方法:

在使用地方直接 import 引入,然后在 rules 校验中加入即可。

相信很多人在刚接触前端或者中期时候总会遇到一些问题及瓶颈期,如学了一段时间没有方向感或者坚持不下去一个人学习枯燥乏味有问题也不知道怎么解决,对此我整理了一些资料 喜欢我的文章想与更多资深大牛一起讨论和学习的话 欢迎加入我的学习交流群907694362

原文链接:https://www.cnblogs.com/xsd1/p/11976324.html

如有疑问请与原作者联系

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux make编译报错 mv,Linux下安装redis

1&#xff1a;首先下载redis http://redis.io/download2: 需要Linux安装gcc依赖3&#xff1a;进行解压 tar -zxvf redis-3.0.0-rc2.tar.gz4&#xff1a;进入到redis-3.0.0目录下&#xff0c;进行编译 make (如果make编译报错 可直接用 make MALLOClibc 解决)5&#xff1a;…

c#中connect函数_C#.NET 各种连接字符串

1.C#连接连接Access程序代码:using System.Data;using System.Data.OleDb;..string strConnection"ProviderMicrosoft.Jet.OleDb.4.0;";strConnection"Data SourceC:BegASPNETNorthwind.mdb";OleDbConnection objConnectionnew OleDbConnectio…

echarts里面的参数解释_Echarts适用小技巧:适用参数详细说明及示例-TS文件

点击右上方红色按钮关注“web秀”&#xff0c;让你真正秀起来前言前面有文章&#xff0c;讲述了Vue中封装Echarts组件&#xff0c;但都是直接上代码&#xff0c;没有具体对代码进行讲述。今天我们就来看看&#xff0c;如何使Echarts图表更美观&#xff0c;都是那部分属性使其更…

linux桌面版自动更新关闭了,桌面应用|开启 Ubuntu 系统自动升级

在学习如何开启Ubuntu系统自动升级之前&#xff0c;先解释下为什么需要自动升级。默认情况下&#xff0c;ubuntu每天一次检查更新。但是一周只会弹出一次软件升级提醒&#xff0c;除非当有安全性升级时&#xff0c;才会立即弹出。所以&#xff0c;如果你已经使用Ubuntu一段时间…

做自适应网站专业乐云seo_什么叫网站优化-网站建设-SEO优化

公司致力于企业品牌营销策划、网站建设、网站优化、五网竞价推广、商城建设、小程序开发、搜索引擎推广、SEO及企业品牌整合营销、全网整合营销霸屏推广等专业一站式网络全包服务。为不同企业品牌量身定制合适的设计方案&#xff0c;提供专业一站式网站服务平台、网络广告投放平…

linux native分区,怎么将硬盘格式分区为Linux Native格式的

根据目前流行的操作系统来看&#xff0c;常用的分区格式有四种&#xff0c;分别是FAT16、FAT32、NTFS和Linux。资格最老的当然就是FAT16啦&#xff0c;这是MS&#xff0d;DOS和最早期的Windows 95操作系统中最常见的磁盘分区格式。它采用16位的文件分配表&#xff0c;而且是目前…

跨域会报40几_关于跨域,以及跨域的几种方式

首先我们来想一想为什么会有跨域这个名词的出现呢?跨域又是什么呢?为何要跨域?浏览器的同源策略又是什么?怎么解决?jsonp又是什么?跨域的原理又是什么呢?名词解释:跨域:浏览器对于javascript的同源策略的限制,例如a.cn下面的js不能调用b.cn中的js,对象或数据(因为a.cn和…

linux用户的配置文件保存在哪里,使用配置文件(.settings、.config)存储应用程序配置...

引言我不知大家早先是如何保存应用程序配置&#xff0c;以备下次打开时使用的&#xff0c;反正我开始学.Net的时候就去研究序列化&#xff0c;以二进制或XML格式的序列化来保存应用程序配置。这样每次都要建立单独的配置类&#xff0c;并书写读写配置代码&#xff0c;相当麻烦。…

python如何画图设置坐标轴_python matplotlib坐标轴设置的方法

在使用matplotlib模块时画坐标图时&#xff0c;往往需要对坐标轴设置很多参数&#xff0c;这些参数包括横纵坐标轴范围、坐标轴刻度大小、坐标轴名称等在matplotlib中包含了很多函数&#xff0c;用来对这些参数进行设置。我们可以对坐标轴进行设置&#xff0c;设置坐标轴的范围…

linux比较厉害的运维项目,Linux运维项目实战系列

ORACLE 博客文章目录&lpar;2015-05-27更新&rpar;从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理 ...Login控件尝试新建we…

awk 内嵌正则 提取字符串_使用awk提取字符串中的数字或字母

1.提取字符串中的数字$ echo dsFUs34tg*fs5a%8ar%$# |awk -F "" {for(i1;i<NF;i){if ($i ~ /[[:digit:]]/){str$istr1(str1 str)}}print str1}输出3458或$ echo dsFUs34tg*fs5a%8ar%$# |awk -F "" {for(i1;i<NF;i){if ($i ~ /[0-9]/){str$istr1(str1…

mysql中字符串拼接函数_MySQL字符串连接函数

一、CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL &#xff0c;则返回值为 NULL。select concat(s_id, "--", s_bar_code) from t_storage_order_detail WHERE s_sn LIKE %R2016091200002% LIMIT 0, 1000;-------------------------…

云终端linux系统,让同方安全的云终端运行于Linux系统之上(二)

4、显示驱动与云终端显示相关的硬件包括多层控制器(MLC)及显示控制器(DPC)。MLC对应的修改的程序是mlc.c、mlc.h、main.c,DPC对应修改的程序为dpc_config.h、dpc_ioctl.h及main.c。修改主要涉及MLC顶层的初始设置、显示LOGO设置、及系统默认显示分辨率的设置、及与Pollux硬件相…

4列变成5列 datatable_云南美食界“5巨头”,谁才是NO.1?你家乡的那道菜也在列...

每个城市都有自己盛产的食材&#xff0c;最终也被制作成几代都传延至今的美食&#xff0c;这便是美食的传承。今天小编就来说说云南美食&#xff0c;下面这云南美食界“5巨头”&#xff0c;谁才是你心里的NO.1&#xff1f;你家乡的那道菜也在列哦~云南大理&#xff1a;白族泥鳅…

linux+基因组字符替换,liftover基因组版本直接的coordinate转换

下载地址:http://hgdownload.cse.ucsc.edu/admin/exe/使用方法:【从hg38转到hg19】因为主流的基因组版本还是hg19&#xff0c;但是时代在进步&#xff0c;已经有很多信息都是以hg38的形式公布出来的了。比如&#xff0c;我下载了pfam.df这个protein domain注释文件&#xff0c;…

elinput内容过长显示悬浮框_excel中一直被忽视的名称框,用好了也能提高效率

在excel左上角功能区下方&#xff0c;有一个名称框(下图红框中的部分)。大部分朋友应该没注意过这个地方有什么作用&#xff0c;或者仅仅知道名称框中会显示单元格的位置&#xff0c;因此在操作中这项功能无法表现出其真正的效果。本文就为大家介绍一下关于名称框的一些实用功能…

linux 漏洞 poc,CVE-2017-11176: 一步一步linux内核漏洞利用 (二)(PoC)

使第二次循环中的fget()返回NULL到目前为止&#xff0c;在用户态下满足了触发漏洞的三个条件之一。TODO:使netlink_attachskb()返回1[DONE]exp线程解除阻塞使第二次fget()调用返回NULL在本节中&#xff0c;将尝试使第二次fget()调用返回NULL。这会使得在第二个循环期间跳到“退…

同步轨道进入过程_“收官之星”定点成功!北斗三号卫星全部进入长管模式

◎ 徐新芳 科技日报记者 付毅飞6月30日14时15分&#xff0c;北斗三号全球卫星导航系统最后一颗组网卫星成功定点于距离地面约36000公里的地球同步轨道&#xff0c;顺利进入长期运行管理模式。卫星有效载荷已完成开通&#xff0c;经过遥测数据判读&#xff0c;星载基准频率合成器…

将当前的head推送到远程_Git 通俗易懂系列 三、远程仓库和标签

远程仓库git remote :列出每个远程库的简短名字。如&#xff1a;origin。git remote -v &#xff1a;显示对应的克隆地址&#xff0c;如&#xff1a;originhttp://gitlab.xxx.corp/xxx.git 添加远程库&#xff1a;git remote add pb git://github.com/xxx.gitpb 指代对应的仓库…

linux中cv调用摄像头,ubuntu中opencv调用摄像头

ubuntu中opencv调用摄像头ubuntu中opencv调用摄像头文章目录一、Ubuntu中安装opencv二、关于Linux如何开启摄像头1.安装VMvareTools&#xff0c;这个是真的强&#xff0c;解决了很多常遇到的问题&#xff0c;比如Linux和Windows无法交互粘贴复制的问题。2.要保证Linux这边能开启…