最常用的15个前端表单验证JS正则表达式

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的JavaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IPv4地址、 十六进制颜色、 日期、 QQ号码、 微信号、车牌号、中文正则。

1 用户名正则

//用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;
//输出 true
console.log(uPattern.test("caibaojian"));

2 密码强度正则

//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//输出 true
console.log("=="+pPattern.test("caibaojian#"));

3 整数正则

//正整数正则
var posPattern = /^\d+$/;
//负整数正则
var negPattern = /^-\d+$/;
//整数正则
var intPattern = /^-?\d+$/;
//输出 true
console.log(posPattern.test("42"));
//输出 true
console.log(negPattern.test("-42"));
//输出 true
console.log(intPattern.test("-42"));

4 数字正则

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

//正数正则
var posPattern = /^\d*\.?\d+$/;
//负数正则
var negPattern = /^-\d*\.?\d+$/;
//数字正则
var numPattern = /^-?\d*\.?\d+$/;
console.log(posPattern.test("42.2"));
console.log(negPattern.test("-42.2"));
console.log(numPattern.test("-42.2"));

5 Email正则

//Email正则
var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//输出 true
console.log(ePattern.test(<a href="mailto:99154507@qq.com" rel="external nofollow">99154507@qq.com</a>));

6 手机号码正则

//手机号正则
var mPattern = /^1[34578]\d{9}$/; //http://caibaojian.com/regexp-example.html
//输出 true
console.log(mPattern.test("15507621888"));

7 身份证号正则

//身份证号(18位)正则
var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
//输出 true
console.log(cP.test("11010519880605371X"));

8 URL正则

//URL正则
var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
//输出 true
console.log(urlP.test(<a href="http://caibaojian.com" rel="external nofollow">http://caibaojian.com</a>));

9 IPv4地址正则

//ipv4地址正则
var ipP = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
//输出 true
console.log(ipP.test("115.28.47.26"));

10 十六进制颜色正则

//RGB Hex颜色正则
var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
//输出 true
console.log(cPattern.test("#b8b8b8"));

11 日期正则

//日期正则,简单判定,未做月份及日期的判定
var dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
//输出 true
console.log(dP1.test("2017-05-11"));
//输出 true
console.log(dP1.test("2017-15-11"));
//日期正则,复杂判定
var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
//输出 true
console.log(dP2.test("2017-02-11"));
//输出 false
console.log(dP2.test("2017-15-11"));
//输出 false
console.log(dP2.test("2017-02-29"));

12 QQ号码正则

//QQ号正则,5至11位
var qqPattern = /^[1-9][0-9]{4,10}$/;
//输出 true
console.log(qqPattern.test("65974040"));

13 微信号正则

//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
//输出 true
console.log(wxPattern.test("caibaojian_com"));

14 车牌号正则

//车牌号正则
var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
//输出 true
console.log(cPattern.test("粤B39006"));

15 包含中文正则

//包含中文正则
var cnPattern = /[\u4E00-\u9FA5]/;
//输出 true
console.log(cnPattern.test("董董董"));

转载于:https://my.oschina.net/u/2393989/blog/2395883

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

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

相关文章

程序员个人外包合同怎么写?

分享一份工作上经常用到的个人外包合同协议&#xff0c;该协议通过了法务与财务审核&#xff0c;兼顾甲乙双方利益&#xff0c;程序员接私活必备&#xff01;&#xff01;&#xff01;&#xff01; ---需要电子word版&#xff0c;请关注--------- 回复&#xff1a;个人外包合同…

rocketmq新扩容的broker没有tps_深入研究RocketMQ消费者是如何获取消息的

前言小伙伴们&#xff0c;国庆都过的开心吗&#xff1f;国庆后的第一个工作日是不是很多小伙伴还沉浸在假期的心情中&#xff0c;没有工作状态呢&#xff1f;那王子今天和大家聊一聊RocketMQ的消费者是如何获取消息的&#xff0c;通过学习知识来找回状态吧。废话不多说&#xf…

苏宁 11.11:仓库内多 AGV 协作的全局路径规划算法研究

本文为『InfoQ x 苏宁 2018双十一』技术特别策划系列文章之一。 1. 背景 随着物联网和人工智能的发展&#xff0c;越来越多的任务渐渐的被机器人取代&#xff0c;机器人逐渐在发展中慢慢进入物流领域&#xff0c;“智能叉车”&#xff0c;AGV&#xff08;Automated Guided Vehi…

老板思维:工作负责人是首问责任制

工作负责人包括部门领导&#xff0c;项目经理等负责人。以项目经理为例&#xff0c;解释这种思维。 分好几种情况&#xff1a; &#xff08;1&#xff09;当公司&#xff08;老板&#xff0c;领导&#xff0c;甲方&#xff09;将事情交给你的时候&#xff0c;这件事情就由你负…

用python绘制玫瑰花的代码_python也能玩出玫瑰花!程序员的表白代码

有些情侣是异地恋&#xff0c;情人节想送朵玫瑰花给女朋友都困难。别担心&#xff0c;用Python就好了&#xff0c;互联网时代的恋爱神器&#xff01;接下来就让我们一起来看看如何用Python变出玫瑰花的。 1、首先我们导入画图工具turtle&#xff0c;即import turtle 2、导入画图…

Springboot 整合 swagger

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/weixin_40254498/article/details/83622098 swagger 主要是为后端服务的接口文档&#xff0c;懒人必备&#xff0c;swagger就是一款让你更好的书写API文档的框架。 其他的框架…

Project为项目设置预算

假设项目预算10万元&#xff0c;如果项目完成后&#xff0c;花费没有超过10万元&#xff0c;则成本管理是成功的&#xff0c;如果花费了11万&#xff0c;则超过了预算。 预算是10万&#xff0c;一般目标成本设得比预算成本低&#xff0c;比如9.5万。在项目实施过程中&#xff…

activiti7流程设计器_变频空调器通信电路

通信电路由室内机和室外机主板两个部分单元电路组成&#xff0c;并且在实际维修中该电路的故障率比较高&#xff0c;因此单设--节进行详细说明。第三章变频空调器单元电路对比和通信电路第二节通信电路通信电路由室内机和室外机主板两个部分单元电路组成&#xff0c;并且在实际…

PyCharm 中为 Python 项目添加.gitignore文件

文章目录 1.安装.ignore插件 2.在项目中添加.ignore文件 1.安装.ignore插件 在pycharm编译器中&#xff0c;依次点击File->Setting 在跳出Setting的页面中&#xff0c;执行如下操作&#xff1a; 点击左侧的Plugins&#xff0c; 在搜索框中输入.ignore 点击右侧的install 点…

mysql的分页查询

为什么80%的码农都做不了架构师&#xff1f;>>> order by case when 的用法&#xff08;实现特殊情况的排序&#xff0c;如leader1的排最前面&#xff09;&#xff1a; select * from m_worker_project order by CASE WHEN leader 1 THEN 100 ELSE 1000 END 项目中…

.describe() python_python的apply应用:一般性的“拆分-应用-合并”,附加详细讲解

跟aggregate一样&#xff0c;transform也是一个有着严格条件的特殊函数&#xff1a;传入的函数只能产生两种结果&#xff0c;要么产生一个可以传播的标量值(如np.mean)&#xff0c;要么产生一个相同大小的结果数组。最一般化的GroupBy方法是apply&#xff0c;apply会将待处理的…

DNS服务(4)Slave DNS及高级特性

为了简化运维人员的负担&#xff0c;使用Master/Slave DNS架构的情况比较好&#xff0c;现在我们来简单叙述一下Master/Slaver DNS的特点主DNS服务器&#xff1a;维护所负责解析的域内解析库服务器&#xff1b;解析库由管理员维护&#xff1b;从DNS服务器:从主DNS服务器或其它的…

python运算符_Python运算符总结

建议&#xff1a;字符串拼接操作尽量多用join&#xff0c;而减少用”“ join操作时会先计算字符操作所用到的空间总和大小&#xff0c;然后申请内存。然后进行字符串连接操作。所以join的时间复杂的近似O(n)。 操作符连接操作符时&#xff0c;由于字符串是不可变对象&#xff0…

jupyter notebook常用快捷键

Jupyter Notebook 有两种键盘输入模式。编辑模式&#xff0c;允许你往单元中键入代码或文本&#xff1b;这时的单元框线是绿色的。命令模式&#xff0c;键盘输入运行程序命令&#xff1b;这时的单元框线是灰色。 命令模式 (按键 Esc 开启) Enter : 转入编辑模式Shift-Enter : …

Eclipse安装试用Hanlp

【1】确定正确安装配置Java和Eclipse 【2】下载HanLp的各种东西 hanlp.linrunsoft.com/services.ht… 下载这四个文件到本地&#xff0c;我是放在桌面的一个文件夹了。【3】 把jar包导入到Eclipse 在Eclipse先新建一个项目File——New——Java Project--[名字&#xff1a;Hanlp…

升级pip最新版本

python很多库对pip版本有要求&#xff0c;升级命令为&#xff1a; python -m pip install --upgrade pip windows在cmd下&#xff0c;输入以上命令

bat 存储过程返回值_使用Mybatis过程中遇到的坑

常规SSM框架开发中&#xff0c;mybatis遇到的坑是最多的&#xff0c;把以下几点坑记录下来防止以后再遇到同样的情况。1、mybatis 若果在mapper中返回值没有配置resultMap而是使用resultType直接返回的话&#xff0c;那么当心默认配置中的驼峰匹配规则&#xff0c;参考以下配置…

【洛谷 P2513】 [HAOI2009]逆序对数列(DP)

题目链接 这种求方案数的题一般都是\(dp\)吧。 注意到范围里\(k\)和\(n\)的范围一样大&#xff0c;\(k\)是完全可以更大的&#xff0c;到\(n\)的平方级别&#xff0c;所以这暗示了我们要把\(k\)写到状态里。\(f[i][j]\)表示前\(1\)~\(i\)的排列逆序对数为\(j\)的方案数。 现在考…

think python下载 中文版开源!这或许是最经典的编程教材

《Think Python》是很多Python初学者的不二入门教材&#xff0c;受到广泛好评。该书原作者是美国Olin工程学院的教授Allen B. Downey&#xff0c;目前该书的原版和中文版本都已免费开源。 中文版本译者是一名自学Python的编程爱好者。选择翻译《Think Python》&#xff0c;一是…

datatable的数据进行组内排序_排序算法学习分享(四)希尔排序

排序&#xff0c;也称为排序算法&#xff0c;可以说是我们学习算法的过程中遇到的第一个门槛&#xff0c;也是实际应用中使用得较为频繁的算法&#xff0c;我将自己对所学的排序算法进行一个归纳总结与分享&#xff0c;如有错误&#xff0c;欢迎指正&#xff01;排序算法学习分…