ホームページ  >  記事  >  ウェブフロントエンド  >  javascript文字列スペース削除究極版(utf8対応)_javascriptスキル

javascript文字列スペース削除究極版(utf8対応)_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 18:41:44914ブラウズ

実際、問題は次のとおりです。js 自体が Unicode でエンコードされている場合、正規表現 s を使用してすべての空白を削除できますが、js が utf-8 でエンコードされている場合、正規表現は 160 としてエンコードされたスペースを処理できません。

以下では、まず正規表現を使用して 32 としてコード化されたスペースを削除し、次に再帰的方法を使用して文字列の両側にある Unicode スペースを削除します。

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

/**文字の両端のスペースを削除 開始
*@作者 Ao Shiwei
*@バージョン v1.0
*@日付 2009/11/14 22:51
*/
String .prototype.trim = function() {
var r = this.replace(/(^s*)|(s*$)/g, ""); ;
r = Rremoveblank(r);
return
}

関数 Lremoveblank(s) {
if (s.length == 1 && s.charCodeAt(0) ) == 160)
return "";
if (s.charCodeAt(0) == 160) {
s = s.substr(1, s.length - 1); Removeblank(s );
}
else {
return s;
}
}

function Rremoveblank(s) {
if (s.length == 1 && s .charCodeAt(0) == 160)
return "";
if (s.charCodeAt(s.length-1) == 160) {
s = s.substr(0, s.length - 1);
return Rremoveblank(s);
else {
return s;

//- 両方を削除文字の終わり スペースで終わる

//例
var a = " a ";

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。