正则表达式的使用方法与常用模板

来源:互联网 发布:上知教育一个月多少钱 编辑:程序博客网 时间:2024/05/30 07:13

使用JavaScript时,常用正则表达式在页面对数据进行筛选判断,以下介绍两种常用的正则表达式的使用方法,并给出一些常用的模板:

方法一:使用RegExp方法构建正则表达式,此时正则表达式为字符串形式

注意点:如果使用字符串,字符串里反斜杠是转义字符,例如\d会变成d,因此要用两个\\d避免被转义

例:验证邮箱的合法性

<script type="text/javascript">function checkForm() {if($("#email").val()==""){$("#error").html("邮箱不能为空!");return false;}//var emailType = "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$";   //字符串方法var emailType = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;  //非字符串方法,区别就是两端的/和转义字符var  emailRe = new RegExp(emailType);if ($("#email").val().match(emailRe) == null) {$("#error").html("请输入正确格式的邮箱地址!");return false;}}</script>

其他正则表达式:    
"^\\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\\d+$"    //整数
"^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 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+)?)|(0+(\\.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+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url
"^(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9]|X)$"  //18位身份证号
"^1[3,5,8]\\d{9}$"   //手机号,13、15、18开头


方法二:直接构建正则式并使用test验证方法

例:验证手机号

<script type="text/javascript">function checkForm() {var mobile = document.getElementById("mobile").value;if (mobile == null || mobile == "") {document.getElementById("error").innerHTML = "手机号不能为空!";return false;} else {var mobileType = /^1[3,5,8]\d{9}$/;     //非字符串方法,两端加上/,转义字符只要一个\if (!mobileType.test(mobile)) {alert("请输入正确格式的手机号!");return false;}return true;}}</script>

其他正则表达式:    
/^\d+$/  //非负整数(正整数 + 0)
/^[0-9]*[1-9][0-9]*$/  //正整数
/^((-\d+)|(0+))$/  //非正整数(负整数 + 0)
/^-[0-9]*[1-9][0-9]*$/  //负整数
/^-?\d+$/    //整数
/^\d+(\.\d+)?$/  //非负浮点数(正浮点数 + 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+)?)|(0+(\.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+)?$/  //浮点数
/^[A-Za-z]+$/  //由26个英文字母组成的字符串
/^[A-Z]+$/  //由26个英文字母的大写组成的字符串
/^[a-z]+$/  //由26个英文字母的小写组成的字符串
/^[A-Za-z0-9]+$/  //由数字和26个英文字母组成的字符串
/^\w+$/  //由数字、26个英文字母或者下划线组成的字符串
/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/    //email地址
/^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/  //url
/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/  //18位身份证号
/^1[3,5,8]\d{9}$/   //手机号,13、15、18开头

原创粉丝点击