正则表达式实例

2018/08/20 program regex 2402 words views

这里主要就整理记录一下经常使用的正则表达式,后续如果有遇到一些新鲜的玩法会再来完善。

1.请使用正则取出:Tech,Sales,内容1,内容2

str = 'Tech,Sales,内容1,内容2';
regExp = /Tech|Sales|内容1|内容2/g;


2.<OPTION value="待处理">待处理</OPTION>写一个正则表达式,匹配 <OPTION value="待处理">

str = "<OPTION value="待处理">待处理</OPTION>";
regExp = /^<.*?>/;


3.如何获取一个字符串中的数字字符,并按数组形式输出,如 dgfhfgh254bhku289fgdhdy675gfh 输出[254,289,675]

str = 'dgfhfgh254bhku289fgdhdy675gfh';
regExp = /\d+/g;


4.从一个字符串中提取链接地址

str = 'IT面试题博客中包含很多  <a href="http://hi.baidu.com/mianshiti/blog/category/微软面试题">微软面试题</a>';
regExp = /<a(?: [^>]*)+href="(.*)"(?: [^>]*)*>/;


5.判断连续重复字母

str1 = 'abc3d4e5'; //False
str2 = 'aab2c3'; //True
regExp = /([a-zA-Z])\1/;


6.给定字符串 str,检查其是否包含 3 个连续的数字

str = 'abc123efg';
regExp = /\d{3}/;


7.
判断是否符合指定格式;
给定字符串 str,检查其是否符合如下格式
1)、XXX-XXX-XXXX
2)、其中 X 为 Number 类型

str = '123-456-7890';
regExp =  /^(\d{3}-){2}\d{4}$/;


8.判断是否符合 USD 格式:
给定字符串 str,检查其是否符合美元书写格式
1)、以 $ 开始
2)、整数部分,从个位起,满 3 个数字用 , 分隔
3)、如果为小数,则小数部分长度为 2
4)、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3

regExp = /^\$\d{1,3}(,\d{3})*(\.\d{2})?$/;
str1 = '$1.23'; //true
str2 = '$111.23'; //true 
str3 = '$1111.23'; //false
str4 = '$1,123.23'; //true


9.判断电话号码

str = "17589122256"
regExp = /^1[34578]\d{9}$/;


10.验证邮箱

str = "12345678@qq.com";
regExp = ^([a-zA-Z0-9_\-])+@([a-zA-Z0-9_\-])+\.([a-zA-Z0-9_\-])+$;


11.验证身份证号码
身份证号码可能为15位或18位,15位为全数字,18位中前17位为数字,最后一位为数字或者X

str = '123456789123456789';
regExp = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;


12.匹配汉字

str = '你好世界';
regExp = /^[\u4e00-\u9fa5]{0,5}$/;


13.判断日期格式是否符合 ‘2017-05-11’的形式,简单判断,只判断格式

str = '2017-05-11';
regExp = /^\d{4}\-\d{1,2}\-\d{1,2}$/;


14.IPv4地址正则

str = '192.168.10.1';
regExp = /^(?:(?: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]?)$/;


15.十六进制颜色正则

str = '#feb';
regExp = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;


16.车牌号正则

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


17.过滤HTML标签

str = '<p>dasdsa</p>nice <br> test</br>';
regExp = /<[^<>]+>/g;


18.密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

str = '123456Aa#';
regExp = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//这里主要就是利用前置约束存在,保证我后面必须要满足几个小括号里的条件


19.URL正则

str = 'https://pengyang.me';
regExp = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;


20.匹配浮点数

str = '100.10';
regExp = /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;

Search

    Table of Contents