String.charCodeAt()就可以输出其Unicode 字符代码。通过Unicode 字符代码的大小,可以判断是中文字符,还是数字。 1)英文a-z是65-90,A-Z是97-112 2)数字是0-9是,48-57 3)上万的都是中文字符 var str:String = "hello world! 你好世界! 88!"; for (var i:int = 0; i < str.length; i++) { trace(str.charAt(i), "-", str.charCodeAt(i)); } ———————————————— 版权声明:本文为CSDN博主「Xiang08」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/xiang08/article/details/8029522
方法一.遍历字符串逐个判断字符是否符合要求
/** * true:CuPlayer.com全是汉子或字母数字 * true:CuPlayer.com存在不符合条件的字符 * */ public function judgeStr(str:String):Boolean { var res:Boolean=false; for(var i:int=0;i<str.length;i++) { res=false; var chat_code:Number=str.charCodeAt(i);//获得一个字符的ASCII编码 if((chat_code>=19968&&chat_code<=40869)|| //CuPlayer.com中文汉字 (chat_code>=48&&chat_code<=57)|| //CuPlayer.com数字 (chat_code>=65&&chat_code<=90)|| //a-z (chat_code>=97&&chat_code<=122)) //A-Z { res=true; } if(!res) { return false; } } return true; }
方法二.利用正则表达式判断
/** * true:CuPlayer.com全是汉字或字母数字 * true:CuPlayer.com存在不符合条件的字符 * */ public function judgeStr(str:String):Boolean { var reg:RegExp; reg = new RegExp("^(?!_)(?!.*?_$)[a-zA-Z0-9_u4e00-u9fa5]+$","g"); if(reg.exec(str)) { return true; } else { return false; } }
https://www.cuplayer.com/player/playercodeas/2013/12311134.html