惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
A
About on SuperTechFans
Vercel News
Vercel News
博客园 - 【当耐特】
爱范儿
爱范儿
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Help Net Security
I
InfoQ
博客园 - 三生石上(FineUI控件)
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - allonkwok

http header as3 打开窗口类 select 中使用 case when 和 replace Tomcat Server 原理 SVN 安装配置快速入门 JS中常用的xpath特性 天极网软件频道的用JS实现的图片切换特效 div动态展开和关闭 DOM属性速查 div+css兼容性问题 asp常用函数 javascript 获取URL参数 仿163弹出层 GridView 介绍 转:GridView 72般绝技 [作者:清清月儿] Javascript Unicode 编码和反编码函数 提取文章内容的纯文本,并截取一定的字数 javascrip动态时钟 手机号码验证的JS代码(包含153、159)
Flash使用正则进行注册验证
allonkwok · 2007-09-04 · via 博客园 - allonkwok

Posted on 2007-09-04 11:28  allonkwok  阅读(545)  评论()    收藏  举报

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, "i"); 
        trace(re.test(email.text)); 
        trace("email changed"); 
        if (re.test(email.text)) { 
            emailFalse._visible = false; 
        } else { 
            emailFalse._visible = true; 
        } 
        break; 
    case homepage : 
        var ex = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?"; 
        var re = new RegExp(ex, "i"); 
        trace(re.test(homepage.text)); 
        trace("homepage changed"); 
        if (re.test(homepage.text)) { 
            homepageFalse._visible = false; 
        } else { 
            homepageFalse._visible = true; 
        } 
        break; 
    } 
}; 
//addEventListener 
userName.addEventListener("focusOut", txtListener); 
pwd.addEventListener("focusOut", txtListener); 
id.addEventListener("focusOut", txtListener); 
email.addEventListener("focusOut", txtListener); 
homepage.addEventListener("focusOut", txtListener); 
////////////////////////////////////////////////// 
//初始状态下的各错误提示的可视值为false; 
userNameFalse._visible = false; 
pwdFalse._visible = false; 
idFalse._visible = false; 
emailFalse._visible = false; 
homepageFalse._visible = false;