正则表达式:断言

取字符串区间:

/(?<=["+ star +"]).*(?=["+ end +"])/

// 简单封装
Vue.prototype.strMatch = (str,star,end) => {
let regs = new RegExp("(?<=["+ star +"]).*(?=["+ end +"])");
let req = str.match(regs);
return req;
};

url的正则表达式:包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息

function IsURL(str_url) {
var strRegex =
"^((https|http|ftp|rtsp|mms)?://)" +
"?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@
"(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184
"|" + // 允许IP和DOMAIN(域名)
"([0-9a-z_!~*'()-]+.)*" + // 域名- www.
"([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二级域名
"[a-z]{2,6})" + // first level domain- .com or .museum
"(:[0-9]{1,4})?" + // 端口- :80
"((/?)|" + // a slash isn't required if there is no file name
"(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
var re = new RegExp(strRegex);
//re.test()
if (re.test(str_url)) {
return true;
} else {
return false;
}
}

匹配手机号

var myreg = /^(13[0-9]{1}|14[5|7|9]{1}|15[0-3|5-9]{1}|166|17[0-3|5-8]{1}|18[0-9]{1}|19[8-9]{1}){1}\d{8}$/;

用户名正则,4到16位(字母,数字,下划线,减号)

var uPattern = /^[a-zA-Z0-9_-]{,}$/;
//输出 true
console.log(uPattern.test("caibaojian"));

密码强度正则

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

整数正则

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

数字正则

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

//正数正则
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"));

Email正则

//Email正则
var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{,})$/;
//输出 true
console.log(ePattern.test(@qq.com));

身份证号正则

//身份证号(18位)正则
var cP = /^[-]\d{}(||([]\d))\d{}(([-])|(||))(([-][-])||||)\d{}[-9Xx]$/;
//输出 true
console.log(cP.test("11010519880605371X"));

URL正则

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

IPv4地址正则

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

十六进制颜色正则

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

日期正则

//日期正则,简单判定,未做月份及日期的判定
var dP1 = /^\d{}(\-)\d{,}\\d{,}$/;
//输出 true
console.log(dP1.test("2017-05-11"));
//输出 true
console.log(dP1.test("2017-15-11"));
//日期正则,复杂判定
var dP2 = /^(?:(?!)[-]{}-(?:(?:[-]|[-])-(?:[-]|[-]|[-])|(?:[-]|[-])-(?:|)|(?:[]|[])-)|(?:[-]{}(?:[]|[][]|[][])|(?:[]|[][]|[][]))--)$/;
//输出 true
console.log(dP2.test("2017-02-11"));
//输出 false
console.log(dP2.test("2017-15-11"));
//输出 false
console.log(dP2.test("2017-02-29"));

QQ号码正则

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

微信号正则

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

车牌号正则

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

包含中文正则

//包含中文正则
var cnPattern = /[\u4E00-\u9FA5]/;
//输出 true
console.log(cnPattern.test("董董董"));
整数或者小数:^[-]+\.{,}[-]{,}$
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
只能输入非零的负整数:"^\-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"。
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"。
验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:""~""和""~""。
验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;""~""和""~""。整数或者小数:^[-]+\.{,}[-]{,}$
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
只能输入非零的负整数:"^\-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"。
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"。
验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:""~""和""~""。
验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;""~""和""~""。

以上内容转载自 陌上寒个人博客      可以微信扫码关注一下哦!

最新文章

  1. MAC OSX环境下cordova+Ionic的安装配置
  2. GPIO裸机编程
  3. android 之 animations 动画
  4. WaitForSingleObject与WaitForMultipleObjects用法详解(好用,而且进入一个非常高效沉睡状态,只占用极少的CPU时间片)
  5. 用 EasyBCD 在 Win7/8 中硬盘安装 Ubuntu
  6. Spring笔记(二)Core层
  7. 开源消息中间件DotNetMQ
  8. 十天学Linux内核之第五天---有关Linux文件系统实现的问题
  9. JAVA类型修饰符(public,protected,private,friendly)
  10. C#数字类型及运算符
  11. 约定Service构建方式
  12. C#给字符串赋予字面值——字符串插入、转义序列的使用
  13. jQuery概念
  14. python全栈开发day117-MongoDB,pymongo
  15. 在Intellij IDEA中使用Maven的方式将项目导出为jar包
  16. LDAP1-安装部署LDAP服务
  17. 浅谈__dict__
  18. 简单配置AAA认证与telnet图解
  19. Wannafly挑战赛18 C - 异或和
  20. VB托盘图标不响应WM_MOUSEMOVE的原因及解决方法

热门文章

  1. GROUP BY GROUPING SETS 示例
  2. jenkins 打包 springboot
  3. redis实现集群加主从复制
  4. CentOS中防火墙相关的命令(CentOS7中演示)
  5. 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property &#39;source&#39; to &#39;org.eclips
  6. Tsinsen A1206. 小Z的袜子
  7. java使用Thumbnailator处理图片
  8. 洛谷 U5737 纸条
  9. osEye.Net:离别是为了将来的重逢
  10. centos6安装eclipse