八个最常用的正则表达式
灵活的使用正则表达式,可以使得程序既简洁,又清晰。因为正则表达式可以把需要多行代码才能实现的验证功能,只用一行代码就完成了。下面我列举了八个最常用的正则表达式,与诸君分享。
(注:代码均使用JavaScript语言进行描述)
1.验证文件名及其扩展名
functionvalidate_filename(str){
str=str.replace(/^\s|\s$/g,"");//trimsstring
return/^[a-z][\w]?\.(asp|html|htm|shtml|php)$/i.test(str)
}
2.验证Email地址
functionvalidate_email(str){
return/^([\w]+)(\.[\w]+)*@([\w\-]+)(\.[\w]{2,7})(\.[a-z]{2})?$/i.test(str);
}
3.验证数字
functionvalidateNumeric(str){
varobjRegExp=/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
returnobjRegExp.test(str);
}
4.验证日期
functionvalidate_date(str){
return/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/.test(str);
}
5.验证时间(HH:MM或HH:MM:SS或HH:MM:SS.MMM)
functionvalidate_time(str){
return/^([1-9]|1[0-2]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/.test(str);
}
6.验证IP地址(IPv4)
functionvalidate_ip(str){
return/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(str);
}
7.验证邮政编码
functionvalidate_zip(str){
return/(^\d{6}$)|(^\[1-9]-\d{2}$)/.test(str);
}
包含中国大陆和台湾省,香港、澳门不使用邮政编码。
8.验证中文字符
匹配中文字符的正则表达式:^[\u4e00-\u9fa5]+$
匹配中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$