其实很简单,两种方法。
1、String类有个静态方法 fromCharCode(),返回一个字符串,该字符串由参数中的 Unicode 字符代码所表示的字符组成。
然后再查一下中文的Unicode 范围,我试的大概是19968到40891这个样子(十进制),这样就能随机获得一个中文了(包括简体和繁体)。
var index:int = 19968 + (30000-19968)*Math.random();
trace(String.fromCharCode(index));
想获得一个昵称则随机组合2-5汉字就行,就是有2个问题
(1)这样获得的汉字很多是繁体字或可读性差的生僻汉字。
(2)没有进行姓名的区分,这样随机的名字只是汉字的随机组合。所以又有了第二种方法。
2、这种方法就是很笨的枚举法了,把所有常用的姓和名分别列出来,比如我随便列举一些:
//姓
var xing:string = "俞", "倪", "傅", "储", "元", "充", "党", "全", "公", "公冶", "公孙", "公羊", "关", "养", "冀", "冉","农", "冯", "冷", "凌", "凤", "刁", "刘", "利", "别", "劳", "勾", "包", "匡", "华", "卓", "单", "单于";
//名
var ming:string = "蔼艾爱安傲白柏般半宝碧璧彬滨冰波伯博采彩苍超琛臣尘辰宸晨诚城程驰初吹春辞聪从翠代黛丹蝶冬恩尔凡方芳访";
这样具体列举出来,使用的时候分别随机获得姓和名,来组成一个名字,这样最后获得的名字则符合传统观念了。
现在的问题你是不是担心重复率很高??上面列举的只是一些姓和名,你可以百度一些直接复制下来,(直接所搜百家姓即可),虽是百家姓,实际姓氏可达500+
我做过测试,用480个姓和410个名生成 :姓+名(两个汉字),重复率极低, 100W次有效名字994106个, 30W次有效名字299470个
我想即使是所有服务器名字唯一,也够你用了吧,哈哈