JS中正则表达式验证

1. 正则表达式验证邮箱问题

founction checkEmail(){

var ema = document.getElementById("ema").value;

var reg = /^[a-zA-Z0-9_-] + @[a-zA-z0-9_-] + (\.[a-zA-Z0-9_-]+)+$/;

console.log(reg.test(ema));//true

}


2.正则表达式验证手机号码问题(两个都行)

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1[34578]\d{9}$/.test(phone))){ 
        alert("手机号码有误,请重填");  
        return false; 
    } 
}
function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){ 
        alert("手机号码有误,请重填");  
        return false; 
    } 
}
3.正则表达式验证固定电话

 function checkTel(){
 var tel = document.getElementById('tel').value;
if(!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(tel)){
alert('固定电话有误,请重填');
return false;
}
}
4.正则表达式验证身份证

//身份证正则表达式(15位)
isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
//身份证正则表达式(18位)
isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
身份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)
5.其他问题

提取信息中的网络链接:(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+)
提取信息中的中国电话号码(包括移动和固定电话):(\(\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]*
6.正则表达式知识

原文链接:http://caibaojian.com/javascript-regexp.html

JavaScript元字符

正则表达式元字符是包含特殊含义的字符,他们有一些功能,可以控制匹配模式的方式,反斜杠后的元字符将失去其特殊含义。·

元字符/元符号匹配
\

在字面意义和特殊意义之间进行切换。例如w表示w的特殊意义而不是字面值w,但是$表示不使用$的特殊意义而是使用$字符本身

^字符串的开头
$字符串的结尾
*零次或者多次
+一次或者多次
?零次或者一次
.除换行符外的任何字符
\b单词边界
\B非单词边界
\d0-9的任何数字(与[0-9]相同)
D任何非数字
\f换页符
\n换行符
\r回车符
\s任何一个空白字符(与[fnrtv]相同)
\S任何一个非空白字符
\t制表符
\v垂直制表符
\w任何字母、数字以及下划线(与[a-zA-Z0-9_]相同)
\W除数字、字母及下划线外的其他字符

\xnn

十六进制数字nn定义的ASCII字符
\onn八进制数字nn定义的ASCII字符
\cX控制字符X
[abcde]与其中任何字符匹配的字符串
[^abcde]字符补集,与其中任何字符都不匹配的字符集
[a-e]与其中的字符范围匹配的字符集
[\b]退格字符的字面量意义(不同于b)
{n}前面的字符正好出现n次
{n,}前面的字符至少出现n次
{m,n}前面的字符至少出现m次,最多n次
()一个组,可以在后面引用它
x|yx或y

o+ 表示1个或者多个o

x? 表示0个或者1个x

x* 表示0个或者多个x

(xyz)+匹配至少一个(xyz)

x{m,n} 匹配至少m个,最多n个x


来源: 前端开发博客
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值