ホームページ >ウェブフロントエンド >jsチュートリアル >正規表現を使用して javascript_javascript スキルで中国語の文字の長さを計算する例

正規表現を使用して javascript_javascript スキルで中国語の文字の長さを計算する例

WBOY
WBOYオリジナル
2016-05-16 16:50:451054ブラウズ

JavaScript は Unicode でエンコードされているため、JavaScript ではすべての文字が 1 つですが、バックグラウンド プログラムではそうではありません。通常、バックグラウンド プログラムでは 1 つの漢字が 2 バイトを占有し、これがフロントエンドとバックエンドの検証長につながります。矛盾、この問題は正則化によって解決できます。

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

function getRealLen( str ) {
return str. replace(/[^x00-xff]/g, '__').length; //これはすべての 2 バイト文字に一致します
}

もう 1 つの小さなヒントが含まれています:

レイアウトやインターフェースに影響を与えず、美しさを保つために、一部のコピーライティングが切り捨てられることがあります。ただし、中国語が英語の標準に従って切り捨てられる場合、または英語が切り捨てられる場合は、中国語と英語の幅が異なります。中国の基準に従えば、明らかに長いものもあれば短いものもありますが、特に中国語と英語の両方を使用しやすいニックネームなどは、上記のアイデアを使用することもできます

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

function BeautySub( str, len) {
var reg = /[u4e00-u9fa5]/g, //プロフェッショナルな中国語マッチング
スライス = str.substring(0,len),
realen = len - ( ~~( slide.match(reg) && slide.match(reg).length) ); ;
}
ここでは、1 つの漢字が 2 つの英語文字の幅であると考えます。完璧主義者であれば、j、w、m の幅は異なると考える必要があります。 w、m および一部の大文字は中国語と一致します。この関数の規則性には改善の余地が大きく、切り捨ての開始位置も指定できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。