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
字符转成ASCII码: 格式:字符串变量.charCodeAt(字符位置); var str:String = “A”; trace(str.charCodeAt());//输出:65 ASCII码转成字符: var a:String=String.fromCharCode(ASCII码); var a:String=String.fromCharCode(97); trace(a);//输出:a
方法一.遍历字符串逐个判断字符是否符合要求
/**
* 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
浙公网安备 33010602011771号