as3正则表达式

  最近项目中有部分字符串进行校验,于是它提出了校验要求(由中文、英文、数字组成,长度在20个字以内,不能含有特殊字符)。

    看要求用正则表达式进行校验可能比较简单,以前用过js、java里的正则表达式,as还没用过。上网搜搜,都是些邮箱、电话号码啥的,没有现成的只能先看看as3的正则表达式档(见文章末尾)自己写个,反正又不是很复杂。文档上说:正则表达式可能非常复杂,且不同的编程环境实现正则表达式的方式也不同,可能有许多细微差别。看起来很吓人,其实是提醒你别以为以前用过其他语言的正则表达式就不看本文档了。

1.正则表达式实例创建方式2种:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
意思是忽略大小写匹配bob

2.在网上查到了匹配中文表达式[\u4e00-\u9fa5],通过文档得知匹配字母、数字表达式分别为[0-9]、[a-z],写个表达式测试下:
var pattern1:RegExp = /[0-9a-z\u4e00-\u9fa5]/i;
意思是忽略大小写匹配一个数字或字母或汉字。

3.我们的要求是只能由数字、字母、汉字组成,不能包含其他特殊字符,换句话说指标名的每一个字都该与第二个表达式匹配,于是得出了下面的表达式:
var pattern1:RegExp = /[0-9a-z\u4e00-\u9fa5]{20}/i;
意思是忽略大小写匹配一个数字或字母或汉字20次,其中20是指标名的长度,上面这种创建方式好像不能满足动态的指标名,用另外一种创建方式就可以了。
var regStr:String = "[0-9a-z\u4e00-\u9fa5]{" + 20 + "}";
var pattern1:RegExp = new RegExp(regStr, "i");
if(pattern1.test("指标名")){
 //TODO
}else{
 //提示校验失败
}

参考文档:http://help.adobe.com/zh_CN/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ea9.html

http://www.cnblogs.com/guiliangfeng/archive/2009/04/13/1434696.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值