我使用TextInput Flex 4.5的组件来输入一些英文文本。我使用限制属性...将键盘输入限制为仅字符a-zA-Z。问题是,如果我复制/粘贴另一种语言的单词,我可以将其粘贴到TextInput组件中。有没有办法避免这种情况?如果不是,我如何才能验证对指定语言的输入?限制输入到指定的语言
我发现中文+语言符号的unicode集合是\ u4E00到\ u9FFF。所以我写了以下内容:
var chRE:RegExp = new RegExp("[\u4E00-\u9FFF]", "g");
if (inputTI.text.match(chRE)) {
trace("chinese");
}
else {
trace("other");
}
但是,如果我在TextInput输入单词“你好”,然后它验证...什么是错误?
因为我不能(我的错?或者一个错误?)在RegExp中使用unicode范围,我写了下面的函数来检查一个单词是否是中文,就是这样。
private function isChinese(word:String):Boolean
{
var wlength:int = word.length;
for (var i:int = 0; i < wlength; i++) {
var charCode:Number = word.charCodeAt(i);
if (charCode <= 0x4E00 || charCode >= 0x9FFF) {
return false;
}
}
return true;
}
验证您要更改的字符? –
其实是的......我已经实现了一些东西,这是非常简单的text.match(“_正则表达式”),但我很难验证简体中文(这是我想验证的语言:) –
然后你需要确定中文使用的字符集。对不起,我不能帮助,我不说希腊语。 –