javascript 正则表达式验证

news/2024/7/19 14:49:19 标签: 正则表达式, js, vue

vue中使用正则表达式

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

  if (value == '' || value == undefined) {
    callback();
  } else {
    //正则验证
    switch (rule) {
      case 'number': //验证整数
        value.match(/^[0-9]*$/) ? callback() : callback("必须为数字")
        break;
      case 'pws': //数字密码不超过6为
        value.match(/^[a-zA-Z0-9_\-]{6,32}$/) ? callback() : callback("密码不超过6数字")
        break;
      case 'idcard': //身份证
        value.match(/^\d{15}(\d{2}[A-Za-z0-9])?$/) ? callback() : callback("身份证号码格式不正确")
        break;
      case 'phone': //座机
        value.match(/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/) ? callback() : callback("格式不正确,请使用下面格式:020-88888888")
        break;
      case 'intOrFloat': //验证数字(包括小数)
        value.match(/^\d+(\.\d+)?$/) ? callback() : callback("请输入整数或小数")
        break;
      case 'mobile': //验证手机号
        value.match(/^(13|15|18|17|16|19)\d{9}$/) ? callback() : callback("请输入正确的手机号码")
        break;
      case 'qq': //验证QQ(5-10位)
        value.match(/^[1-9]\d{4,9}$/) ? callback() : callback("请输入正确的QQ号")
        break;
      case 'age': //验证年龄(0-120位)
        value.match(/^(?:[1-9][0-9]?|1[01][0-9]|120)$/) ? callback() : callback("年龄必须是0-120之间")
        break;
      case 'chinese': //验证中文)
        value.match(/^[\Α-\¥]+$/) ? callback() : callback("内容只能包含中文")
        break;
      case 'english': //验证英文
        value.match(/^[A-Za-z]+$/) ? callback() : callback("内容只能包含英文")
        break;
      case 'unnormal': //是否为空和空格
        value.match(/\S/) ? callback() : callback("内容不能为空和全部空格")
        break;
      case 'username': //之前用于验证用户账号格式的
        value.match(/^[a-zA-Z][a-zA-Z0-9_]{5,15}$/) ? callback() : callback("用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)")
        break;
      case 'zip': //邮政编码
        value.match(/^[1-9]\d{5}$/) ? callback() : callback("邮政编码格式不正确")
        break;
      case 'ip': //ip
        value.match(/^(?:(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:1[0-9][0-9]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:2[0-5][0-5])|(?:25[0-5])|(?:1[0-9][0-9])|(?:[1-9][0-9])|(?:[0-9]))$/) ? callback() : callback("IP地址格式不正确")
        break;
      case 'name': //验证中文或英文
        (value.match(/^[\Α-\¥]+$/) || value.match(/^\w+[\w\s]+\w+$/)) ? callback(): callback("只能是英文或中文")
        break;
      case 'content': //验证内容不超过30位
        (value.match(/^.{0,30}$/) || value.match(/^\w+[\w\s]+\w+$/)) ? callback(): callback("内容长度只能为0-30位")
        break;
      case 'url': //验证内容不超过30位
        value.match(/^((https|http|ftp|rtsp|mms)?:\/\/)+[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/) ? callback() : callback("请输入有效url地址")
        break;
      case 'email': //验证内容不超过30位
        value.match(/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/) ? callback() : callback("邮箱格式不正确")
        break;
      case 'date': //日期格式(YY-MM-DD或YY-M-D)
        value.match(/^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/) ? callback() : callback("日期格式不正确(YYYY-MM-DD或YYYY-M-D)")
        break;

    }
  }
}

http://www.niftyadmin.cn/n/1409538.html

相关文章

keil5库文件安装失败_安装python环境及numpy插件的安装

1 首先下载安装包&#xff0c;我下载的是3.8 版本 官网 www.python.org2 安装的时候记得勾选 Add Python 3.8 to path &#xff0c; 否则还需要自己手动配置环境变量3 对应的选择customer install -----> 然后把对应的所有组件都安装4 如下图 有两个 Download debug ..... 之…

Practicing Programming

最近&#xff0c;我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”&#xff08;练习编程&#xff09;&#xff0c;写成于2005年&#xff0c;读后令我惊讶不已&#xff1a; 与你所相信的恰恰相反&#xff0c;单纯地每天埋头于工作并不能算是真正意义上的…

ad19pcb设置恢复默认_Oracle DB使用快速恢复区

使用快速恢复区快速恢复区(Fast RecoveryArea, FRA) 以前称为Flash Recovery Area。• 永久项目&#xff1a;– 当前控制文件的多路复用副本– 联机重做日志的多路复用副本• 临时项目&#xff1a;– 归档重做日志– 数据文件副本– 控制文件副本– 控制文件自动备份– 备份片段…

vue2.0中使用 swiper图片轮播

在Vue2.0中使用swiper进行来展示图片轮播或翻页效果 先 npm i vue-awesome-swiper html部分:<swiper :options"swiperOption" ref"mySwiper" classswipers touchEnd"touchEndFunc"><swiper-slide v-for"(item,index) in gameL…

/usr/lib/jvm/java-7-sun/bin/java: 没有那个文件或目录

测试jdk版本 输入 java -version 命令&#xff0c;查看jdk版本&#xff0c;如果结果和下面的类似&#xff0c;配置就成功了。 java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) 最后一步&#xff0c;有可能出现错误&a…

redis 排序_如何利用Redis SortedSet实现多维度排序?

说明&#xff1a;本次实践基于Redis版本3.2.11。关于SortedSet首先&#xff0c;我们都知道Redis的SortedSet是可以根据score进行排序的&#xff0c;以手机应用商店的热门榜单排序为例&#xff0c;根据下载量倒序排列&#xff0c;其简单用法如下&#xff1a;127.0.0.1:6379> …

Design Ant 中form表单添加自定义验证

1.引入Ant组件写入基本内容 * <FormItem label"分组描述">{getFieldDecorator(description, {initialValue: this.state.description ,rules: [{ required: true, message: 请至少输入5个字符串 },**{ validator: this.checkConfirm }],**//此处写入自定义验…

eclipse无法编译

找不到jre路径&#xff0c;解决方案如下&#xff1a; 方案一、修改eclipse安装目录下的eclipse.ini文件&#xff0c;在首行添加虚拟机参数-vm的设置 -vm /opt/java/jdk1.7.0_25/jre/bin/java # -vm 参数用以指定使用哪一个 jvm 来执行Eclipse