常用的正则表达式总结
2018-03-30 本文已影响11人
会飞_的鱼
- 邮箱:
/^([0-9a-zA-Z]+[_.0-9a-zA-Z-]*)@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/
- 手机号:
/^((13[0-9])|(15[0-9])|(18[0-9])|(14[0-9])|(17[0-9])|(199)|(198)|(166))[0-9]{8}$/
- 密码:
/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/ #8到16位字母和数字的组合
- url:
/((http|https):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?)/
- 真实姓名:
/^[\u4E00-\u9FA5]+$/ #姓名必须必须为汉字
/^[\u4E00-\u9FA5]{2,8}$/ #姓名必须为2到8个汉字
- 数字验证码:
/^\d{4}$/ #四位
/^\d{6}$/ #六位
- 真实身份证号(18位或15位):
function validate_id(id){
if(id.match(/^\d{6}(19|20)\d{2}[01]\d{1}[0-3]\d{1}(\d{4}|\d{3}x)$/i)){
var weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
var checkCode = [1, 0, 'x', 9, 8, 7, 6, 5, 4, 3, 2];
var s = 0;
for(var i=0; i<17; i++){
s += id.substr(i, 1) * weight[i];
}
if(checkCode[s%11] != id.substr(17, 1).toLowerCase( )) {
alert('身份证号不正确');
return false;
}
var year = parseInt(id.substr(6,4),10);
var month = parseInt(id.substr(10,2),10);
var day = parseInt(id.substr(12,2),10);
var date=new Date(month + '/' + day + '/' + year);
if(date.getFullYear()!=year || date.getDate()!=day || date.getMonth()!=(month-1)){
alert('身份证号不正确');
return false;
}
}else if(id.match(/^\d{6}\d{2}[01]\d{1}[0-3]\d{1}(\d{3}|\d{2}x)$/i)){
var year = parseInt('19'+id.substr(6,2),10);
var month = parseInt(id.substr(8,2),10);
var day = parseInt(id.substr(10,2),10);
var date=new Date(month + '/' + day + '/' + year);
if(date.getFullYear()!=year || date.getDate()!=day || date.getMonth()!=(month-1))
{
alert('身份证号不正确');
return false;
}
}else{
alert('身份证号不正确');
return false;
}
}
- js使用正则表达式:
var str = '18811408557';
var reg = /^([0-9a-zA-Z]+[_.0-9a-zA-Z-]*)@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/;
if(reg.test(str)){
return true;
}else{
return false;
}