想限制韩语和中文
Want to limit korean and chinese
我需要根据 lang 限制输入框内容。
例如:-
如果输入带有韩语字符的字符串,则允许的字符数为 8。如果输入带有中文字符的字符串,则允许的字符数为 5。如果使用英语,则允许使用 12 个字符。
我的代码适用于IE,Firefox和Chrome中的英文字符。但是,此代码对韩语和中文字符不起作用。即使我增加有效长度,我的代码也总是将字符串的长度削减为 2。请尽快提出一些解决方案。
我正在粘贴我的代码进行检查。
<!DOCTYPE html>
<html>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
document.onkeydown=function() {
var text = $('#lang').val();
var hangul = new RegExp("['u1100-'u11FF|'u3130-'u318F|'uA960-'uA97F|'uAC00-'uD7AF|'uD7B0-'uD7FF]");
var china = new RegExp("['u4E00-'u9FFF|'u2FF0-'u2FFF|'u31C0-'u31EF|'u3200-'u9FBF|'uF900-'uFAFF]");
// alert(hangul.test(text));
if(hangul.test(text))
{
limit = 8;
//console.log("korean");
limitCharacters('lang', limit , text);
}else if(china.test(text))
{
limit = 5;
//console.log("china");
limitCharacters('lang', limit , text);
}else {
limit = 11;
limitCharacters('lang', limit , text);
}
};
function limitCharacters(textid, limit, text)
{
//alert('here in limit funt.');
var textlength = text.length;
//alert(textlength);
if(textlength > limit )
{
$('#'+textid).val(text.substr(0,limit));
return false;
}else {
$('#'+textid).val(text);
$('#txt').html(text);
return true;
}
}
</script>
<body>
<input type="text" id="lang" />
</body>
</html>
我解决了这个问题,现在它对我来说工作正常。根据我的理解,IE不支持子字符串。
<html>
<title> test</title>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="http://css-browser-selector.googlecode.com/git/css_browser_selector.js"></script>
<script src="./beta.fix.js"></script>
<script>
var keyFix = new beta.fix('lang');
jQuery(document).ready( function($) {
jQuery('#lang').bind('keyup', checklang);
});
function checklang() {
var textid = jQuery(this).attr("id");
var text = jQuery(this).val();
var hangul = new RegExp("['u1100-'u11FF|'u3130-'u318F|'uA960-'uA97F|'uAC00-'uD7AF|'uD7B0-'uD7FF]");
var china = new RegExp("['u4E00-'u9FFF|'u2FF0-'u2FFF|'u31C0-'u31EF|'u3200-'u9FBF|'uF900-'uFAFF]");
// alert(hangul.test(text));
if(china.test(text))
{
limit = 5;
console.log("chiness");
}else if(hangul.test(text))
{
limit = 8;
console.log("korean");
}else {
limit = 11;
console.log("english");
}
jQuery('#'+textid).attr("maxlength", limit);
};
</script>
<body>
<input type="text" id="lang" size="100" />
</body>
</html>
你能试试这个吗:
var hangul = new RegExp("['u1100-'u11FF|'u3130-'u318F|'uA960-'uA97F|'uAC00-'uD7AF|'uD7B0-'uD7FF]");
var china = new RegExp("['u4E00-'u9FFF|'u2FF0-'u2FFF|'u31C0-'u31EF|'u3200-'u9FBF|'uF900-'uFAFF]");
$("#lang").on("keypress keyup", function () {
var that = $(this);
var text = that.val();
if (china.test(text)) {
limit = 5;
} else if (hangul.test(text)) {
limit = 8;
} else {
limit = 11;
}
that.attr("maxlength", limit);
if (text.length > limit) that.val(text.substring(0, limit))
});
也在 http://jsfiddle.net/sWPeN/1/
相关文章:
- 在csv文件名中使用西班牙语字符
- 隐藏移动设备/平板电脑中文本字段上的键盘
- 在UIWebView中查找并突出显示带变音符号的阿拉伯语文本
- 审查禁语的系统
- 如何将变量与问候语连接起来
- 我的正则表达式如何支持多种语言,如中文,日语,法语等
- 初始化父类中的变量(JavaScript/CoffeeScript 习语)
- 印地语数字的正则表达式是什么
- 使用框架/语言中的getter/setter,或者定义自己的显式getter/setters
- Javascript/JQuery中的本地语言类似于Rails中的本地语
- 在IOS(Phonegap)中按姓名对联系人进行排序(姓名显示为中文和英文)
- 字符串替换为从右向左的语言(阿拉伯语)
- 如何在Javascript中对JSON字符串中的阿拉伯语进行编码/解码
- 具有中文字符但输出的JSON.parse数据变为“;未定义”;
- 乌克兰字母的正则表达式.如何用大写字母分隔西里尔语单词
- 如何在javascript中按正确的顺序连接波斯语字符和英语字符
- 想限制韩语和中文
- 韩语罗马化器 :它不会让所有内容都罗马化
- 韩语音节PHP或JavaScript罗马化器(或任何其他替代方案?)
- 日语/韩语进入MySQL表