1. ip地址

let regIp = /^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/

2.Mac地址

let regMac = /((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}/gi

3.手机号

let regTel = /^1[3456789]\d{9}$/
/*** 验证电子邮箱格式*/
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([3589]\d|4[5-9]|6[1-2,4-7]|7[0-8])\d{8}$/.test(value)
}/*** 验证URL格式*/
function url(value) {return /^((https|http|ftp|rtsp|mms):\/\/)(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z].[a-zA-Z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+\/?)$/.test(value)
}/*** 验证日期格式*/
function date(value) {if (!value) return false// 判断是否数值或者字符串数值(意味着为时间戳),转为数值,否则new Date无法识别字符串时间戳if (number(value)) value = +valuereturn !/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*|\.\d+|\d\.\d+e\+\d+)$/.test(value)
}/*** 验证字符串*/
function string(value) {return typeof value === 'string'
}/*** 验证整数*/
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)} if (value.length === 8) {return xreg.test(value)}return false
}/*** 金额,只允许2位小数*/
function amount(value) {// 金额,只允许保留两位小数return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value)
}/*** 中文*/
function chinese(value) {const reg = /^[\u4e00-\u9fa5]+$/gireturn reg.test(value)
}/*** 只能输入字母*/
function letter(value) {return /^[a-zA-Z]*$/.test(value)
}/*** 只能是字母或者数字*/
function enOrNum(value) {// 英文或者数字const reg = /^[0-9a-zA-Z]*$/greturn 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) {const reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/return reg.test(value)
}/*** 判断是否为空*/
function empty(value) {switch (typeof value) {case 'undefined':return truecase 'string':if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return truebreakcase 'boolean':if (!value) return truebreakcase 'number':if (value === 0 || isNaN(value)) return truebreakcase 'object':if (value === null || value.length === 0) return truefor (const i in value) {return false}return true}return false
}/*** 是否json字符串*/
function jsonString(value) {if (typeof value === 'string') {try {const obj = JSON.parse(value)if (typeof obj === 'object' && obj) {return true}return false} catch (e) {return false}}return false
}/*** 是否数组*/
function array(value) {if (typeof Array.isArray === 'function') {return Array.isArray(value)}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)
}/*** 是否函数方法* @param {Object} value*/
function func(value) {return typeof value === 'function'
}/*** 是否promise对象* @param {Object} value*/
function promise(value) {return object(value) && func(value.then) && func(value.catch)
}/** 是否图片格式* @param {Object} value*/
function image(value) {const newValue = value.split('?')[0]const IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/ireturn IMAGE_REGEXP.test(newValue)
}/*** 是否视频格式* @param {Object} value*/
function video(value) {const VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv|m3u8)/ireturn VIDEO_REGEXP.test(value)
}/*** 是否为正则对象* @param {Object}* @return {Boolean}*/
function regExp(o) {return o && Object.prototype.toString.call(o) === '[object RegExp]'
}export default {email,mobile,url,date,dateISO,number,digits,idCard,carNo,amount,chinese,letter,enOrNum,contains,range,rangeLength,empty,isEmpty: empty,jsonString,landline,object,array,code,func,promise,video,image,regExp,string
}

常用格式校验正则表达式相关推荐

  1. h5前端开发常用的校验正则表达式

    正则表达式 非原创,引用地址:来自 www.okajax.com/a/201605/re- 前端开发中经常使用到的20个正则表达式. 校验密码强度 密码的强度必须是包含大小写字母和数字的组合,不能使用 ...

  2. @RequestBody接收Json参数 | 用自定义注解对Vo对象中Date类型日期格式校验

    标题太长有木有?主要是为了把问题描述清楚,免得进错文章. 问题描述 昨天测试的同事测试接口的时候,测试出来一个Date类型校验问题. 要求输入的日期格式是:yyyy-MM-dd HH:mm:ss,Vo ...

  3. js luhn算法_判断用户输入的银行卡号是否正确--基于Luhn算法的格式校验

    开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS ...

  4. js正则分析案例——以JSON格式校验为例

    js正则分析案例--以JSON格式校验为例 [TOC] 缘起 最近在研究javascript中对各种数据类型与格式的判断,以及各种第三方库提供的字符串处理方法,发现有大量的地方运用了正则,并且有些正则 ...

  5. 常用的校验注解之 @NotNull、@NotBlank、@NotEmpty 的区别

    实体字段校验 @NotNull.@NotEmpty.@NotBlank 1.@NotNull 不能为 null,但可以为 empty,一般用在 Integer 类型的基本数据类型的非空校验上,而且被其 ...

  6. ipv4、ipv6格式校验代码

    ipv4.ipv6格式校验代码 一.题目 IPv4 地址格式: IPv4地址由4组十进制数组成,每组范围为 0 - 255,用"."分割. 注意:IPv4 地址内的数不能以 0 开 ...

  7. SpringBoot自定义注解实现身份证号格式校验

    背景 ​ 身份证的组成部分较为复杂, 如果仅使用正则表达式的话, 有些情况也无法校验出来, 例如正确的证件号为513334200310119074, 如果把最后一位变成9, 则是一个错误的证件号, 但 ...

  8. 日期格式校验方法工具

    ## 日期格式校验方法工具 package com.zhjt.utils;import java.text.DateFormat; import java.text.SimpleDateFormat; ...

  9. 常用的PHP正则表达式汇总

    原文:常用的PHP正则表达式汇总 PHP中的常用正则表达式集锦: 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包 ...

最新文章

  1. Jquery操作下拉列表和复选框,自定义下拉
  2. MySQL添加服务、设置密码、修改密码
  3. python怎么输入一个数字并调用_Python求输入一个整数,然后输出这个整数的所有数字:个位数字在前,高位数字在后,中间使用空格字符连接...
  4. jq父级绑定事件的意义_js、jq事件绑定方式总结——以click事件为例
  5. linux下各种颜色文件的意义
  6. UEditor 1.36 版本 jsp版上传图片自定义路劲配置
  7. java浮点数除以0_为什么用浮点数(或双精度)将数字除以零不会在Java中抛出java.lang.Arithmetic...
  8. 小程序使用echarts
  9. cannot find -lmysqlclient 的解决方案
  10. Python之面向对象2
  11. 别人连不上_手机能连上wifi,笔记本电脑确连不上,显示无internet,安全,该怎么办?...
  12. python rsa模块学习笔记
  13. 比所有女生都小的男生mySQL_男生能接受比自己小很多的女生吗?
  14. 思科配置系统日志服务器配置,思科交换机路由器配置日志服务器脚本
  15. MYSQL报错:Error writing file ‘./xxxx/xxxxxx.frm‘ (Errcode: 28 - No space left on
  16. 超详细的抖音运营全攻略
  17. iOS开发月报#11|201905
  18. 人工智能如何改善运输和物流
  19. 如何在react中简单应用echart,及echart特性
  20. jmeter-简单接口测试

热门文章

  1. Bugku CTF Flask_FileUpload 解题思路
  2. 手机屏幕如何投屏到电脑显示器上?
  3. 如何将Scratch作品转换成HTML或者应用程序
  4. echarts 桑基图sankey
  5. 微信公众平台停用服务器配置,1.微信公众号服务器配置启用
  6. 剪刀石头布(胜率提示)
  7. AlexNet论文阅读总结及代码
  8. 什么是GO+和GO哪里不一样
  9. 会员营销如何提升企业与会员之间的互动频率
  10. Linux创建模板封装虚拟机