jQueryなど便利なライブラリもいいですが、軽量でカスタマイズ自由自在なオリジナリティあふれるネイティブJavaScriptを書くのもいいかも。
jQueryなど便利なライブラリもいいですが、軽量でカスタマイズ自由自在なオリジナリティあふれるネイティブJavaScriptを書くのもいいかも。

数値を日本語桁区切り文字列で返す

注意
これらの記事は2016年当時の物で結構古いです。モダンブラウザでは不要な記述やJavaScriptでなくともCSSで実現できる機能もあります。 当時の記録として残してありますがあまり参考になるものではありません。
概要
数値を日本語桁区切り文字列で返します。
例) 123456789 --> 1億2345万6789
使用方法
コメントを参考に実装します。
jpNum(123456789,null,'円'); --> 1億2345万6789円
備考
桁数が多い入力を扱う場合に<input>タグのblurをキーに発火させると誤入力を防げます。

/**
 * 数値を日本語に変換
 *
 * @param mixed num 数値
 * @param string 前に付ける
 * @param string 後ろに付ける
 * @return string 変換後の文字列
 */
var jpNum = function(num, before, after) {
	String.prototype.lastFourNum = function() {
		return this.substr(strNum.length - 4).replace(/^0+/,'');
	}
	String.prototype.withoutLastFour = function() {
		return this.substr(0,this.length - 4);
	}
	if (typeof before === 'undefined') {
		before = '';
	}
	if (typeof after === 'undefined') {
		after = '';
	}
	var strNum = String(num);
	if (strNum == '') {
		return '';
	}
	var minusFlag = false;
	if (strNum.substr(0,1) == '-') {
		minusFlag = true;
		strNum = strNum.substr(1);
	}
	var ichi = '';
	if (strNum.length > 4) {
		ich = strNum.lastFourNum();
		strNum = strNum.withoutLastFour();
	} else {
		ich = strNum;
		strNum = '';
	}
	var man = '';
	if (strNum.length > 4) {
		man = strNum.lastFourNum();
		strNum = strNum.withoutLastFour();
	} else {
		man = strNum;
		strNum = '';
	}
	var oku = '';
	if (strNum.length > 4) {
		oku = strNum.lastFourNum();
		strNum = strNum.withoutLastFour();
	} else {
		oku = strNum;
		strNum = '';
	}
	var cho = '';
	if (strNum.length > 4) {
		cyo = strNum.lastFourNum();
		strNum = strNum.withoutLastFour();
	} else {
		cyo = strNum;
		strNum = '';
	}
	var result = '';
	if (cyo != '') {
		result += cyo + '兆';
	}
	if (oku != '') {
		result += oku + '億';
	}
	if (man != '') {
		result += man + '万';
	}
	if (ich != '') {
		result += ich;
	}
	if (minusFlag) {
		return before + '-' + result + after;
	} else {
		return before + result + after;
	}
}