JavaScript 正则表达式

1.普通字符匹配

匹配中文字符的正则表达式:

[u4e00-u9fa5]

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

[^x00-xff]

匹配空行的正则表达式:

n[s|]*r

匹配HTML标记的正则表达式:

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

匹配首尾空格的正则表达式:

(^s*) | (s*$)

计算字符串的长度(一个双字节字符长度计2,ASCII字符计1):

String.prototype.len = function() {
    return this.replace([^x00-xff]/g, "aa").length;
}
匹配网址URL的正则表达式:

http://([w-]+.) + [w-] + (/[w- ./?%&=] *) ?

匹配E-mail地址的正则表达式:

w+ ([-+.]w+)*@w+ ([-.]w+)*.w+([-.]w+)*

2.限制表单所输入的内容

使用正则表达式限制只能输入中文:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
		</style>
	</head>
	<body>
		<!--当输入或粘贴中文时用空白取消输入内容-->
		<input type="text" onkeyup = "value = value.replace(/[^u4E00-u9FA5]/g, '')" 
			onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g, ''))">
	</body>
</html>
使用正则表达式限制只能输入数字:

<!--当输入或粘贴数字时用空白取消输入内容-->
        <input type="text" onkeyup = "value = value.replace(/[^d]/g, '')" 
			onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^d]/g, ''))">
使用正则表达式限制只能输入数字和英文:

<!--当输入或粘贴数字或英文时用空白取消输入内容-->
		<input type="text" onkeyup = "value = value.replace(/[W]/g, '')" 
			onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[W]/g, ''))">
使用正则表达式限制只能输入全角字符:
<!--/g global可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串-->
		<!--当输入或粘贴全角字符时用空白取消输入内容-->
		<input type="text" onkeyup = "value = value.replace(/[^uFF00-uFFFF]/g, '')" 
			onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g, ''))">
3..去掉重复的字符

<span style="font-size:12px;"><script type="text/javascript">
			var s = "abacabefgeeii"
			//s1为所有重复的字符
			var s1 = s.replace(/(.).*\1/g, "$1")
			var re = new RegExp("["+s1+"]","g")
			//s2为所有不重复的字符
			var s2 = s.replace(re,"")
			//alert(s2)
			//alert(s1)
			//串联s1,s2为所有出现过的字符,不是按照出现顺序排列
			alert(s1+s2);
		</script></span>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值