前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【专题】常用JavaScript正则表达式(regexp)汇编与示例

【专题】常用JavaScript正则表达式(regexp)汇编与示例

原创
作者头像
毛瑞
修改2019-04-26 16:39:55
9830
修改2019-04-26 16:39:55
举报
文章被收录于专栏:三十课三十课

1 概述

1.1 前言

目前收集整理了21个常用的javaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IP地址、 十六进制颜色、 日期、 微信号、车牌号、中文正则等。表单验证处理必备,赶紧收藏吧!

还会陆续加入新的正则进来,大家多提宝贵意见!

2 正则列表

2.1 用户名正则

2.1.1 基本用户名正则

在做用户注册时,都会用到用户名正则校验。

定义基本用户名命名规则如下:

  • 最短4位,最长16位 {4,16}
  • 可以包含小写大母 a-z 和大写字母 A-Z
  • 可以包含数字 0-9
  • 可以包含下划线 _ 和减号 -
  • 首字母只能是大小写字母

查看示例程序

2.1.2 中文用户名正则

如果规则中加入允许中文用户名,则变更正则表达式如下:

其中[\u4E00-\u9FA5]是汉字的正则匹配,包括基本汉字2万多个,其中\u4E00表示汉字“一”,具体请参见《汉字unicode编码范围》。

查看示例程序

2.2 密码强度正则

上述正则表达式只能对用户密码强度进行基本的通过性判定,关于密码强度验证更多的内容可参见:基于规则评分的密码强度检测算法分析及实现

查看示例程序

2.3 数字相关正则

2.3.1 整数正则

查看示例程序

2.3.2 浮点数正则

查看示例程序

2.3.3 整数浮点数正则

可以是整数也可以是浮点数

查看示例程序

2.4 日期正则

2.4.1 出生日期正则

上述正则验证还不完善,主要是2,4,6,9,11月份的天数问题。

查看示例程序

2.4.2 通用日期正则

查看示例程序

2.5 Email正则

2.5.1 基本Email正则

基本Email正则是最常用的验证方式,也适合大多数的应用场景。从以上测试可以看出,该表达式不支持.online及.store结尾的域名。如需兼容这类域名(大于4位),调整正则结尾{2,4}的限制部分即可(例:{2,8})。另一个问题是Email用户名不能包括中文。

查看示例程序

2.5.2 中文名Email正则

根据前一正则中的问题,追加两条规则如下:

  • 用户名可以包括中文 [\u4e00-\u9fa5]
  • 域名结尾最长可为8位 {2,8}

查看示例程序

2.5.3 特定域名Email正则

在手机验证码出现之前,差不多邮箱验证是保证用户唯一性的唯一条件。而临时邮箱(也称10分钟邮箱或一次性邮箱)的出现,则使得邮箱验证及帐户激活这种机制失去了意义。而临时邮箱的地址是不可枚举的,我们只能才采取白名单的方式,只允许有限的邮箱域名通过验证。

此方法虽然能保证验证安全性,但是如果白名单太长会造成模式字符串太长。这时可以将邮箱域名白名单写成数组,利用正则表达式做初步验证,用白名单做域名的二次验证。

常用域名白名单数组:

上述白名单只列举了常用的11种邮箱域名,大家可以根据需要适当补充或删减。

查看示例程序

2.6 手机号码正则

查看示例程序

2.7 身份证号正则

上述正则只能对身份证号进行基本的通过性判定,关于公民身份号码判定的更多内容可参见文档:公民身份号码正确性判定及程序实现

查看示例程序

2.8 URL正则

查看示例程序

2.9 IP地址

2.9.1 IPv4地址正则

查看示例程序

2.9.2 IPv6地址正则

查看示例程序

2.10 十六进制颜色正则

查看示例程序

2.11 QQ号码正则

查看示例程序

2.12 微信号正则

查看示例程序

2.13 车牌号正则

查看示例程序

2.14 包含中文正则

查看示例程序

3 结尾

3.1 结语

本人水平有限,如有错误,请不吝指正!谢谢。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 概述
    • 1.1 前言
    • 2 正则列表
      • 2.1 用户名正则
        • 2.1.1 基本用户名正则
        • 2.1.2 中文用户名正则
      • 2.2 密码强度正则
        • 2.3 数字相关正则
          • 2.3.1 整数正则
          • 2.3.2 浮点数正则
          • 2.3.3 整数浮点数正则
        • 2.4 日期正则
          • 2.4.1 出生日期正则
          • 2.4.2 通用日期正则
        • 2.5 Email正则
          • 2.5.1 基本Email正则
          • 2.5.2 中文名Email正则
          • 2.5.3 特定域名Email正则
          • 常用域名白名单数组:
        • 2.6 手机号码正则
          • 2.7 身份证号正则
            • 2.8 URL正则
              • 2.9 IP地址
                • 2.9.1 IPv4地址正则
                • 2.9.2 IPv6地址正则
              • 2.10 十六进制颜色正则
                • 2.11 QQ号码正则
                  • 2.12 微信号正则
                    • 2.13 车牌号正则
                      • 2.14 包含中文正则
                      • 3 结尾
                        • 3.1 结语
                        相关产品与服务
                        验证码
                        腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档