常用js正则表达式

** js常用正则表达式**

只允许输入数字

1
^\d+$

只允许输入汉字

1
^[\u3400-\u9FFF]+$

整数或者小数

1
^[0-9]+\.{0,1}[0-9]{0,2}$

只能输入零和非零开头的数字

1
^(0|[1-9][0-9]*)$

只能输入有两位小数的正实数

1
^[0-9]+(\.[0-9]{2})?$

只能输入非零的正整数

1
^\+?[1-9][0-9]*$

只能输入非零的负整数

1
^\-[1-9][]0-9"*$

只能输入字母

1
^[A-Za-z]+$

只能输入字母或数字

1
^[A-Za-z0-9]+$

只能输入汉字

1
^[\u3400-\u9FFF]+$

只允许输入字母、数字、下划线

1
^\w+$

只允许输入字母、数字、下划线,并且以字母开头

1
^[A-Za-z]\w*$

常用密码校验

1
^[a-zA-Z]\w{5,17}$
//字母开头,6到18位字符

Email邮箱地址校验

1
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

匹配非空字符

1
^s*|s*$

匹配国内座机号码

1
\d{3}-?\d{8}|\d{4}-?\d{7}

匹配国内手机号码

1
^1\d{10}$

匹配URL地址

1
[a-zA-z]+://[^\s]*

匹配ip地址

1
\d+.\d+.\d+.\d+

验证身份证号(15或18位数字)

1
^\d{15}|\d{18}$

匹配双字节字符(包括汉字在内)

1
[^\x00-\xff]

匹配空行

1
\n[\s| ]*\r

匹配html标签:

1
<(.*)>(.*)<\/(.*)>|<(.*)\/>

正则的应用

1.去掉字符串中的首尾的空格

1
2
3
String.prototype.trim = function(){
	return this.replace(/(^\s*)|(\s*$)/g, "")
}

2.利用正则表达式限制网页表单里的文本框输入内容:

1
2
//用正则表达式限制只能输入中文
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1
2
//用正则表达式限制只能输入全角字符
onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
1
2
//用正则表达式限制只能输入数字
onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
1
2
//用正则表达式限制只能输入字母、数字或下划线
onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\W]/g,''))"

3.js获取url地址中的参数

1
2
3
4
5
6
7
8
9
10
11
function getAddressURLParam(paramName){
	//构造一个含有目标参数的正则表达式的对象
	var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)");
	//匹配目标参数
	var url = window.location.search.substr(1).match(reg);
	//返回参数值
	if(url != null){
		return unescape(url[2]);
	}
	return null;
}