ActionScript使用正则表达式示例

时间:2013-06-08 12:48:40 魔新豆网
正则表达式在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>

本文标签: