发新话题
打印

[分享] 分享一段AS2用的用户名检查函数(已更新:对非法字符检查)

分享一段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 编辑 ]
本广告位招租!需要者请联系QQ:20770162

TOP

恩,再弄个 非健康词汇 的删减就 OK了~
寻觅终生伴侣!

my blog

TOP

呵呵,那个不支持的字符集就是留做非法字符用的
本广告位招租!需要者请联系QQ:20770162

TOP

已更新:对非法字符进行检查
谢谢春春的建议
本广告位招租!需要者请联系QQ:20770162

TOP

呵呵,那个不支持的字符集就是留做非法字符用的

TOP

发新话题