前端开发中一些常用的正则表达式、手机号验证、身份证号码验证、邮箱验证等
一、常用的五个
1.验证手机号码
var phoneReg = /(^1\d{10}$)|(^[0-9]\d{7}$)/;
if(!phoneReg.test(phoneVal)) {
alert("手机号码格式错误!");
return false;
}
2.验证身份证号码
var idCardReg = /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/;
if(!idCardReg.test(IdcardVal)) {
alert("身份证号码格式错误!");
return false;
}
3.验证邮箱
var emailReg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/
4.验证手机号码和电话号码的正则表达式
(支持11位手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
// 匹配格式:
// 11位手机号码
// 3-4位区号,7-8位直播号码,1-4位分机号
// 如:12345678901、1234-12345678-1234
var telReg = /((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/
5.不允许有空格,不能是纯字母或纯数字
var reg = /(?!^\d+$)(?!^[a-zA-Z]+$)[0-9a-zA-Z]{6,20}/
二、校验数字或字母等
--
非负整数(正整数 + 0): /^\d+$/
正整数: /^[0-9]*[1-9][0-9]*$/
非正整数(负整数 + 0): /^((-\d+)|(0+))$/
负整数: /^-[0-9]*[1-9][0-9]*$/
整数: /^-?\d+$/
非负浮点数(正浮点数 + 0): /^\d+(\.\d+)?$/
正浮点数: /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/
非正浮点数(负浮点数 + 0): /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/
负浮点数: /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
浮点数: /^(-?\d+)(\.\d+)?$/
由26个英文字母组成的字符串: /^[A-Za-z]+$/
由26个英文字母的大写组成的字符串: /^[A-Z]+$/
由26个英文字母的小写组成的字符串: /^[a-z]+$/
由数字和26个英文字母组成的字符串: /^[A-Za-z0-9]+$/
由数字、26个英文字母或者下划线组成的字符串: /^\w+$/
URL: /^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/
三、其他正则表达式
--
验证手机号码: /13[0-9]{9}/
实现手机号前带86或是+86的情况: /^((\+86)|(86))?(13)\d{9}$/
电话号码与手机号码同时验证: /(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})/
提取信息中的网络链接: /(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/
提取信息中的邮件地址: /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
提取信息中的图片链接: /(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/
提取信息中的IP地址: /(\d+)\.(\d+)\.(\d+)\.(\d+)/
提取信息中的中国手机号码: /(86)*0*13\d{9}/
提取信息中的中国固定电话号码: /(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}/
提取信息中的中国电话号码(包括移动和固定电话): /(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}/
提取信息中的中国邮政编码: /[1-9]{1}(\d+){5}/
提取信息中的中国身份证号码: /\d{18}|\d{15}/
提取信息中的整数:/\d+/
提取信息中的浮点数(即小数): /(-?\d*)\.?\d+/
提取信息中的任何数字: /(-?\d*)(\.\d+)?/
提取信息中的中文字符串: /[\u4e00-\u9fa5]*/
提取信息中的双字节字符串(汉字): /[^\x00-\xff]*/