黑马程序员技术交流社区

标题: 如何用JavaScript判断用户名由哪些字符组成? [打印本页]

作者: 王友伟    时间: 2012-5-16 11:43
标题: 如何用JavaScript判断用户名由哪些字符组成?
本帖最后由 王友伟 于 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;
}
请问这一段代码怎么理解,谢谢
作者: 朱亮辉    时间: 2012-5-16 17:29
正则表达式,相当一门独特的语言,有自己的语法,我解释一下上面用到的正则表达式,基础还是自己去看吧

^([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位




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2