分享一段AS2用的用户名检查函数(已更新:对非法字符检查)
//
// 用户名检查函数
/*
* 支持的字符集包括中文、英文大小写字母、数字和指定的特殊字符集
*/
function checkUserName(target:String):Boolean {
// /([a-zA-Z0-9\u4e00-\u9fa5])/
var U_enS_str:String = "a";
var U_enE_str:String = "z";
var U_EnS_str:String = "A";
var U_EnE_str:String = "Z";
var U_numS_str:String = "0";
var U_numE_str:String = "9";
var U_cnS_str:String = "\u4e00";
var U_cnE_str:String = "\u9fa5";
//trace(U_cnE_str.charCodeAt());
// 支持的特殊字符集 ~_-#^
var supportCharacter:Array = new Array("~", "_", "-", "#", "^");
// 不支持的特殊字符集(备用)
var unsupportCharacter:Array = new Array("LOLI控", "猥琐大叔", "变态超人");
//trace("返回字符串:"+String.fromCharCode(65)+"<");
/*******************************************************************/
var username_str:String = target;
//trace(username_str);
for (var i:Number = 0; i<username_str.length; i++) {
//trace(username_str.charCodeAt(i));
var returnIndex:Number = username_str.charCodeAt(i);
var en_bl:Boolean = returnIndex>=U_enS_str.charCodeAt() && returnIndex<=U_enE_str.charCodeAt();
var En_bl:Boolean = returnIndex>=U_EnS_str.charCodeAt() && returnIndex<=U_EnE_str.charCodeAt();
var num_bl:Boolean = returnIndex>=U_numS_str.charCodeAt() && returnIndex<=U_numE_str.charCodeAt();
var cn_bl:Boolean = returnIndex>=U_cnS_str.charCodeAt() && returnIndex<=U_cnE_str.charCodeAt();
if (!en_bl && !En_bl && !num_bl && !cn_bl) {
// 不在指定字符集中就执行以下语句,判断是否为指定支持的特殊字符
var temp_bl:Boolean = false;
for (var j:Number = 0; j<supportCharacter.length; j++) {
if (username_str.charAt(i) == supportCharacter[j]) {
temp_bl = true;
break;
}
}
if (!temp_bl) {
trace("用户名只包含中文、英文大小写字母、数字和指定的特殊字符集,请重新输入");
return false;
}
}
}
for (var k:Number = 0; k<unsupportCharacter.length; k++) {
if (username_str.indexOf(unsupportCharacter[k]) != -1) {
trace("用户名包含非法字符,请重新输入");
return false;
}
}
trace("用户名检查成功!");
return true;
}
var userName_1:String = "万bigbyrd123#";
trace("用户名 "+userName_1+" 检查结果:"+checkUserName(userName_1));
trace("");
var userName_2:String = "万bigbyrd123@";
trace("用户名 "+userName_2+" 检查结果:"+checkUserName(userName_2));
trace("");
var userName_3:String = "万bigbyrd123#LOLI控";
trace("用户名 "+userName_3+" 检查结果:"+checkUserName(userName_3));
- -!
刚才网络不稳定,造成重复发帖,找另外一个东西编辑后再发个帖吧!
注释,下面的附件图片没用!
[ 本帖最后由 bigbyrd 于 2008-4-17 09:24 编辑 ]
搜索更多相关主题的帖子:
用户名检查 正则