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

本文介绍了两种在JavaScript中使用正则表达式的方法,并提供了多种常见数据格式验证的正则表达式实例,如邮箱、手机号等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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开头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值