本篇文章转载自我的个人博客
字符串trim函数
其中str为测试字符串,re为正则表达式
var str = ' www.liulei.@qq .coml@qq.com ';
var re = /((^s*)|(s*$))/g;
console.log(str.replace(re,''));
日期检测
var str = '2014-04-01';
var re = /(^[1-9]d{3})-((0?[1-9]|1[0-2]))-((0?[1-9])|([1-2][0-9])|(3[0-1]))/g;
console.log(re.test(str));
时间检测
var str = '12:8:1';
var re = /(0?[1-9]|[1-2][0-4]):(0?[0-9]|[1-5][0-9]):(0?[0-9]|[1-5][0-9])/g;
console.log(re.test(str));
中文字符检测
var str = '哈哈哈哈哈哈哈';
var re = /[u4e00-u9fa5]/g;
console.log(re.test(str));
匹配中文的标点符号、全角状态下的字符和标点符号
var str = '早上好!abc';
var re = /[u3000-u301eufe10-ufe19ufe30-ufe44ufe50-ufe6buff01-uffee]/g;
console.log(re.test(str));
匹配域名
var str = 'http://baidu.com';
var re = ///.*/g;
console.log(str.match(re));
隐藏电话号码
var str = '13508210967';
var re = /(d{3})d{4}(d{4})/g;
console.log(str.replace(/(d{3})d{4}(d{4})/g,'$1****$2'));
邮箱验证
var str = 'liu.lei.l@qq.com.com';
var re = /^([a-zA-Z0-9-_.])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+$/;
console.log(re.test(str));
匹配一个复杂密码,要求8位以上,必须同时包含大写字母、小写字母、数字和符号,下划线或连接符
?=.*d表示在任意字符后面存在数字,即字符串存在数字
var str = 'liu.lei.12123AZZ-_';
var re = /^(?=.*d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9])(?=.*[-|_])(?=.*[-_]).{8,30}$/;
console.log(re.test(str));
html标签检测
var str = '<a href="#"></a>';
var re = /<(.*)(.*)>.*</1>|<(.*)(.*)/>/g;
console.log(re.test(str));
匹配电话号码
var str = '13508210912';
var re = /^1[3458]d{9}/g;
console.log(re.test(str));
匹配qq号码
var str = '1351242341';
var re = /[1-9]d{4,}/g;
console.log(re.test(str));
匹配身份证号码
var str = '320621198911141234';
var re = /(^d{15}$)|(^d{17}[dxX]$)/g;
console.log(re.test(str));
匹配非负整数
var str = '00001';
var re = /^(d*)+$/g;
console.log(re.test(str));
匹配非正整数
var str = '-0000';
var re = /^(-d+)|(0+)$/g;
console.log(re.test(str));
匹配整数
var str = '0000';
var re = /^(-?d+)$/g;
console.log(re.test(str));
推荐博客--正则表达式