常用js正则表达式摘要[更新]

邮箱:

var regm = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)+$/;
//验证Mail的正则表达式,^[a-zA-Z0-9_-]:开头必须为字母,下划线,数字,
 if (!mail.match(regm))
   {
     alert("邮箱地址格式错误或含有非法字符!/n请检查!");
     document.publish.mail.select();  
     return false;
    }

无符号字符串:
/^[^/s]{1}[^-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/'/"]*$/

URL:
/^http:[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$/

匹配中文字符的正则表达式: [/u4e00-/u9fa5]

匹配双字节字符(包括汉字在内):[^/x00-/xff]

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

String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;}

 

 

表1.常用的元字符
代码说明
.匹配除换行符以外的任意字符
/w匹配字母或数字或下划线或汉字
/s匹配任意的空白符
/d匹配数字
/b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

 

 

表2.常用的限定符
代码/语法说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

 

 

表3.常用的反义代码
代码/语法说明
/W匹配任意不是字母,数字,下划线,汉字的字符
/S匹配任意不是空白符的字符
/D匹配任意非数字的字符
/B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符

 

POSIX格式的正则表达式

[:alnum:]    表示数字字符    [0-9a-zA-Z]
[:alpha:]    表示字母    [a-zA-Z]
[:blank:]    空格和制表符    [ /t]
[:space:]    空白(包括换行,回车,制表符,空格,竖向制表符)    [/n/r/t /x0B]
[:cntrl:]    控制符        [/x01-/x1F]
[:digit:]    数字        [0-9]
[:lower:]    小写字母    [a-z]
[:upper:]    大写字母    [A-Z]
[:xdigit:]    十六进制字符    [0-9a-fA-F]
[:ascii:]    ASC2        [/x01-/x7F]

 

 

1. <a href="#">test</a>

2. <a href="javascript:void(0);">test</a>

1有位置信息,会跳到页面顶部,改成"#;"可解决

2就是一个死链,所以用2比较好

 

 

IE下无提示关闭本页的办法:

window.opener = "";
window.open("","_self");

window.close();

 

 

 

 

PHP下的汉字正则

if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str)) //GB2312汉字
if(!preg_match("/^[/x80-/xff]+$/",$str))   //UTF-8汉字

 

ps:判断过程中,中文输入法下的标点符号都属于中文


发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值