日期:2013-11-28  浏览次数:20551 次

  如果用过ASP.NET编写注册页面的人,都会为.NET所提供的验证控件而感到兴奋,它所提供的功用很强大。.NET里面内置了常用的正则表达式,使用起来非常方便。
  但是如果在FLASH要完成注册页面的话,里面繁琐的用户名、密码等判断就只要交由我们本人写咯。
  好,首先来看看效果: 
  则表达式的类RegExp.class:哦~太长了,我直接UPLOAD一个附件好了 
userName、pwd、id、email、homepage为TextInput组件;
userNameFalse、pwdFalse、idFalse、emailFalse、homepageFalse为出错后作提示作用的MC
  关于RegExp.class的使用技巧,"\"采用双反斜杆"\\"表示,使用这种方式的时候,可以防止解析程序当作本义序列的开始
具体实现:
var txtListener:Object = new Object(); 
txtListener.focusOut = function(evt_obj:Object) { 
    switch (evt_obj.target) { 
    case userName : 
        //由数字、26个英文字母或者下划线组成的字符串 
        var ex = "^\\w+$"; 
        var re = new RegExp(ex, "g"); 
        trace("userName changed"); 
        if (re.test(userName.text)) { 
            userNameFalse._visible = false; 
        } else { 
            userNameFalse._visible = true; 
        } 
        break; 
    case pwd : 
        //由数字、26个英文字母或者下划线组成的字符串 
        var ex = "^\\w+$"; 
        var re = new RegExp(ex, "i"); 
        trace(re.test(pwd.text)); 
        trace("pwd changed"); 
        if (re.test(pwd.text)) { 
            pwdFalse._visible = false; 
        } else { 
            pwdFalse._visible = true; 
        } 
        break; 
    case id : 
        var ex = "\\d{17}[\\d|X]|\\d{15}"; 
        var re = new RegExp(ex, "i"); 
        trace(re.test(id.text)); 
        trace("id changed"); 
        if (re.test(id.text)) { 
            idFalse._visible = false; 
        } else { 
            idFalse._visible = true; 
        } 
        break; 
    case email : 
        var ex = "\\w+([-+.’]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; 
        var re = new RegExp(ex, "