A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王友伟 于 2012-5-21 13:35 编辑

我使用的是 if((a>=0&&a<=9)||(a>='a'&&a<='z')||(a>='A'&&a<='Z')||a=='_'),我查找资料的时候找到这一个用正则表达式编写的代码:
if(! /^[\w_]*$/.test( username ) ){
alert("用户名不正确,只能由由字母、数字、下划线组成!");
return 1;
}
if(! /^([a-z]|[A-Z])[0-9a-zA-Z_]{4,19}$/.test( username ) ){
alert("用户名的起始字符必须是英文字母!");
return 2;
}
return 0;
}
请问这一段代码怎么理解,谢谢

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

正序浏览
正则表达式,相当一门独特的语言,有自己的语法,我解释一下上面用到的正则表达式,基础还是自己去看吧

^([a-z]|[A-Z])[0-9a-zA-Z_]{4,19}

^正则表达式开始符号

([a-z]|[A-Z]) 这个是一组,意思是第一位必须是字母大小写不区分,[a-z]是小写的26个字母,[a-z]相当于一个范围,任意一个小写的26字母 ‘|’这个字符是或的意思,[A-Z]任意一个大写的26字母

[0-9a-zA-Z_]  这个是验证的一组,意思是第一位以后的可以是任意的0到9的数字或是任意一个26个大小写字母,也就是说必须是数字和字母

{4,19}是定义这个用户名称长度是最小4未最大19位

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马