ホームページ > ウェブフロントエンド > jsチュートリアル > 固定長の中国語と英語の文字を js でインターセプトする簡単な例_javascript スキル

固定長の中国語と英語の文字を js でインターセプトする簡単な例_javascript スキル

WBOY
リリース: 2016-05-16 17:13:16
オリジナル
1285 人が閲覧しました

js には文字列が占めるバイト数を計算する関数が用意されていますが、document.form1.username.value="I am Chinese",document.form1.username などの中国語の文字が占めるバイト数を正しく計算できません。 value.length は 10 ではなく 5 を返します。これは、固定長文字の入力を制限したり、固定長文字列をインターセプトしたりするなど、プログラミングにいくつかの問題をもたらします。この問題により、期待される効果が得られません。固定長文字列をインターセプトするために使用される、中国語と英語の両方に適用できる単純な関数を書きました。何か間違っている場合は、修正してください。

コードをコピー コードは次のとおりです:

//js は中国語と中国語の両方の文字列をインターセプトします。英語も使用可能です
//指定された文字列が指定された長さより大きい場合は、指定された長さをインターセプトして返します。それ以外の場合は、ソース文字列を返します。
関数 Cutstr(str,len)
{
var str_length = 0;
var str_len = 0;
str_cut = new String();
str_len = str.length;
for(var i = 0;i {
a = str.charAt(i);
str_length ;
if(escape(a).length > 4 )
{
//エンコード後の中国語文字の長さが 4 を超えています
str_length ;
}
str_cut = str_cut.concat(a);
if(str_length&g t; = len)
source string;
if(str_length< len){
return str;
}
}

関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート