关闭

常用JavaScript正则表达式整理

时间: 2018-09-26阅读: 1527标签: 正则

在表单验证中,正则表达式书写起来特别繁琐,本文整理了15个常用的JavaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IPv4地址、 十六进制颜色、 日期、 QQ号码、 微信号、车牌号、中文正则、文件路径及扩展名、提取网页中颜色代码、提取网页中图片、提取网页超联机、提取css、抽取注释


1.用户名

//用户名正则,4到16位(字母,数字,下划线,减号)
var userName = /^[a-zA-Z0-9_-]{4,16}$/;
//优化后:
//userName = /^[\w-]{4,16}$/;


2.密码强度

//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;<br><br>
//密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间
var  reg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/;


3.整数

//正整数正则
var posPattern = /^\d+$/;
//负整数正则
var negPattern = /^-\d+$/;
//整数正则
var intPattern = /^-?\d+$/;


4.数字(可以整数也可以浮点数)

1 数字: ^[0-9]$
 
 2 n位的数字: ^\d{n}$
 
 3 至少n位的数字: ^\d{n,}$
 
 4 m-n位的数字:^\d{m,n}$
 
 5 零和非零开头的数字:^(0|[1-9][0-9]*)$
 
 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
 
 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$
 
 8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
 
 9 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
 
10 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
 
11 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
 
12 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
 
13 非负整数:^\d+$ 或 ^[1-9]\d*|0$
 
14 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
 
15 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
 
16 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
 
17 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
 
18 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
 
19 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$


5.Email

//Email正则
var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//优化后:
var ePattern =/^([\w\-\.])+\@([\w\-\.])+\.([A-Za-z]{2,4})$/;
//else
var  reg =/[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?/;


6.手机号码

//手机号正则
var mPattern = /^1[34578]\d{9}$/;

 

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]$/;<br><br>
//15位:
var reg = /^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$/


8.URL

//URL正则
var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;


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]?)$/;


10.十六进制颜色

//RGB Hex颜色正则
var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;


11.日期

//日期正则,简单判定,未做月份及日期的判定
var dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
//日期正则,复杂判定
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)$/;
var  reg2 = /^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$/;

 

12.QQ号码

//QQ号正则,5至11位
var qqPattern = /^[1-9][0-9]{4,10}$/;


13.微信号

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

 

14.车牌号

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


15.包含中文

//包含中文正则
var cnPattern = /[\u4E00-\u9FA5]/;<br><code class="js keyword">var</code>  <code class="js plain">reg = /^[\\u4e00-\\u9fa5]{0,}$/;</code>


16.文件路径及扩展名

//验证 windows下文件路径和扩展名(下面的例子中为.txt文件)
var reg = /^([a-zA-Z]\\:|\\\\)\\\\([^\\]+\\)*[^\\/:*?"<>|]+\\.txt(l)?$/;


17.提取Color Hex Codes

//有时需要抽取网页中的颜色代码,可以使用下面的表达式。
var  reg = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;


18.提取网页中的图片

//提取网页图片假若你想提取网页中所有图片信息,可以利用下面的表达式。
var reg = /\\< *[img][^\\>]*[src] *= *[\\"\']{0,1}([^\\"\'\ >]*)/;

 

19.提取页面超链接

var reg = /(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\/\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^" rel="external nofollow" ]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>/;


20.查找css属性

//下面的表达式,可以搜索到相匹配的CSS属性。
var reg = /^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}/;


21.抽取注释

//如果你需要移除HMTL中的注释,可以使用如下的表达式。
var reg = /<!--(.*?)-->/;


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1115

关闭

JS正则:密码强度8位以上,且包含大小写字母、数字、半角英文符号

本正则规则:包含数字,包含大写字母,包含小写字母,包含英文标点符号,至少8位以上,以上条件必须全部满足,则可以通过验证

JavaScript正则表达式常用技巧

正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript 中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法

正则表达式

正则表达式一直是困扰很多程序员的一门技术,当然也包括曾经的我。大多数时候我们在开发过程中要用到某些正则表达式的时候,都会打开谷歌或百度直接搜索然后拷贝粘贴。

javascript 正则表达式之分组与前瞻匹配详解

本文主要讲解javascript 的正则表达式中的分组匹配与前瞻匹配的,需要对正则的有基本认识。分组匹配:捕获性分组匹配、非捕获性分组匹配。前瞻匹配:正向前瞻匹配: (?=表达式) 后面一定要匹配有什么、反向前瞻匹配: (?!表达式) 后面一定不能要有什么

17 个案例带你 5 分钟搞定 Linux 正则表达式

正则表达式是一种字符模式,用于在查找过程中匹配制定的字符。元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析;正则表达式元字符,由vi/grep/sed/awk等文本处理工具进行解析;

前端正则表达式书写

/正则表达式/修饰符/i (忽略大小写),/g (全文查找出现的所有匹配字符),/m (多行查找),/gi(全文查找、忽略大小写),/ig(全文查找、忽略大小写),不写修饰符默认只匹配一个

理解Javascript的正则表达式

相信很多人第一次见到正则表达式的第一印象都是懵逼的,对新手而言一个正则表达式就是一串毫无意义的字符串,让人摸不着头脑。但正则表达式是个非常有用的特性,不管是Javascript、PHP、Java还是Python都有正则表达式。俨然正则表达式已经发展成了一门小语言

最新JS正则大全(常用)

12小时制时间(hh:mm:ss);base64格式;数字/货币金额(支持负数、千分位分隔符);银行卡号(16或19位);中文姓名;新能源车牌号

js常用正则表达式验证大全(整理详细且实用)

正则表达式对象用来规范一个规范的表达式,本文讲的是JS正则表达式大全(整理详细且实用),包括校验数字、字符、一些特殊的需求等等

javascript较全常用的表达正则验证,js中采用test()方法

正则表达式是一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。本文整理了JS较全且实用正则表达式。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!