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

来源:互联网 发布:淘宝交易有没有风险 编辑:程序博客网 时间:2024/06/10 03:12

邮箱:

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为全局标志)。

原创粉丝点击