在FLASH中使用正则表达式验证数据 |
| 作者:佚名 来源:不详 更新:2007-1-13 20:36:48 错误报告 我要投稿 |
如果用过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; 正则表达式.rar
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |