正则表达式在java,js,ActionScript以及其他开发语言中都较为常见,也是判断数据是否符合标准的常用手段,基本来说ActionScript中的正则和java里面的是完全一致的,我自己把java的正则做了整理,如下所示
\\ 表示反斜线(\)字符
\t 表示制表符
\n 表示换行
[abc] 字符a,b或c
[^abc] 除a,b,c之外的任意字符
[a-zA-Z0-9] 表示由字母,数字组成
\d 表示数字
\D 表示非数字
\w 表示字母、数字、下划线
\W 表示非字母、数字、下划线
\s 表示空白字符(换行、空格等)
\S 表示非空白字符
^ 表示行的开头
$ 表示行的结尾
上面是常用的正则规范,下面则是数量表示(X表示一组规范)
X{n} 必须出现n次
X{n,} 必须出现n次以上
X{n,m} 必须出现n~m次
X? 可以出现0次或1次
X* 可以出现0次,1次或多次
X+ 可以出现1次或多次
至于逻辑运算符我就不贴出来了,下面是我测试用的ActionScript
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Declarations> <!-- Place non-visual elements (e.g.,services,value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; public function check(event:Event):void{ var name:String=this.username.text; var password:String=this.password.text; var birthday:String=this.birthday.text; var reg1:String=this.reg1.text; //匹配日期 var pattern:RegExp=new RegExp("\\d{4}-\\d{2}-\\d{2}"); var pattern2:RegExp=new RegExp("\\w{4}"); //匹配汉字 var pattern3:RegExp=new RegExp("^[a-zA-Z0-9]+$"); //匹配汉字 var pattern4:RegExp=new RegExp("[\u4e00-\u9fa5]"); //匹配邮箱 var pattern5:RegExp=new RegExp("^\\w+@\\w+\\.\\w+$"); // if(pattern.test(birthday)){ // Alert.show("邮箱格式正确"); // } if(pattern4.test(reg1)){ Alert.show("格式正确"); }else{ Alert.show("格式有误"); } } ]]> </fx:Script> <s:Label x="136" y="42" text="用户名" /> <s:TextInput x="180" y="42" id="username"/> <s:Label x="148" y="103" text="密码"/> <s:TextInput x="180" y="93" id="password"/> <s:Label x="149" y="146" text="生日" /> <s:TextInput x="180" y="135" id="birthday" text="1989-12-25"/> <s:Label x="124" y="193" text="测试字符" /> <s:TextInput x="180" y="183" id="reg1" /> <s:Button x="180" y="232" label="登录" click="check(event)"/> </s:Application>
相关文章
http://wenku.baidu.com/view/5fde718ca0116c175f0e4803.html
http://blog.csdn.net/xiaoxin888888/article/details/4339759