文書更新:2018年05月29日(火) 午後3時39分38秒

Home > 備忘録 > 言語関連 > javascript に関すること > 雑記( 28 )

文字列の全置換

  1. splitとjoinを用いての関数
  2. String.prototype.replaceAll = function (orig,dest){  
    	return this.split(orig).join(dest);  
    }
    /*	split	→	指定した区切り文字で分割し、その結果を配列として返します。*/
    /*	join	→	配列の各要素の値を文字列に変換し、それらを、指定した文字で連結し、その結果を返します。*/
  3. 正規表現を用いる方法
  4. str.replace(/置換する文字列/g,"置換後の文字列");
  5. 正規表現を用いての関数(前記2の関数化)
  6. String.prototype.replaceAll = function (orig,dest){  
    	var reg = new RegExp(orig,"g");
    	return this.replace(reg,dest); 
    }

最初に一致した文字列のみの置換

  1. replaceを用いる方法
  2. str.replace("置換する文字列", "置換後の文字列");
  3. 正規表現を用いる方法
  4. str.replace(/置換する文字列/,"置換後の文字列");

文字列の繰り返し

String.prototype.repeat =function(num){
	return new Array( num + 1 ).join( this );
}
	/*使用例*/
"ABC".repeat(2)  → 結果:"ABCABC"

数値の3桁位取り

Number.prototype.commify=function(){
	return this.toString().reverse().replace(/(\d\d\d)(?=\d)(?!\d*\.)/g,'$1,').reverse();
}
	/*使用例*/
2345621.commify()	→ 結果:2,345,621

文字列の反転

String.prototype.reverse = function () {
	return this.split("").reverse().join("");
}

マウスカーソルの制御

function Ctrl_cursor(ctrl){
	document.body.style.cursor = ctrl;
	var tag=Array('input','button','select');
	for(var j=0;j<tag.length;j++){
		for (var i = 0; i < document.getElementsByTagName(tag[j]).length; i++){
			document.getElementsByTagName(tag[j])[i].style.cursor = ctrl;
		}
	}
	if(ctrl=='auto')	ctrl='pointer';
	for (var i = 0; i < document.getElementsByTagName('a').length; i++){
		document.getElementsByTagName('a')[i].style.cursor = ctrl;
	}
}
/*使用例*/
Ctrl_cursor("wait");	//マウスカーソルを待機状態にする
Ctrl_cursor("auto");	//マウスカーソルを元に戻す