ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
業務用アプリケーション想定 JavaScript ( No.0 )
日時: 2007/09/09 17:53
名前: lightbox



String オブジェクトの追加メソッドとして実装しています。
後、日付チェック等必要ですが、日付関連は結構システムに依存するので。
また、入力フォーマットを前提として定義する必要もあるし、最近はカレンダー使えるから省きました。
( zzz,zzz,zz9 format は、WEB から拾ってきました。)
trim は、ここのコードを参照して下さい。
漢字スペースもトリムする必要あるのですが、キャラクタセットによって差し替えないといけないので。

↓このようにして利用できます
<SCRIPT 
	language="javascript"
	type="text/javascript"
	src="http://homepage2.nifty.com/lightbox/hanbai.js">
</SCRIPT>
// *****************************************************************************
// http://www.hunlock.com/blogs/Ten_Javascript_Tools_Everyone_Should_Have
// *****************************************************************************
// ---------------------------------------------------------
// zzz,zzz,zz9 format
// ---------------------------------------------------------
String.prototype.formatNumber = 
function __formatNumber(prefix) {
    var num = this.valueOf();
    prefix = prefix || '';
    num += '';
    var splitStr = num.split('.');
    var splitLeft = splitStr[0];
    var splitRight = splitStr.length > 1 ? '.' + splitStr[1] : '';
    var regx = /(\d+)(\d{3})/;
    while (regx.test(splitLeft)) {
        splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
    }
    return prefix + splitLeft + splitRight;
}
String.prototype.unformatNumber = 
function __unformatNumber() {
    var num = this.valueOf();
    return num.replace(/([^0-9\.\-])/g, '');
}

// *****************************************************************************
// hanbai : lightbox
// *****************************************************************************
// ---------------------------------------------------------
// only 0-9.- : true
// ---------------------------------------------------------
String.prototype.isNumber = 
function __isNumber() {
	var num = this.valueOf();
	var ret = num.replace(/([0-9\.\-])/g, '');
	if ( ret != '' ) {
		return false;
	}
	return true;
}

// ---------------------------------------------------------
// only strGroup like ("red,green,blue")  : true
// ---------------------------------------------------------
String.prototype.isGroup = 
function __isGroup( strGroup ) {
	var str = this.valueOf();
	var ar = strGroup.split( "," );
	var i;
	for ( i = 0; i < ar.length; i++ ) {
		if ( ar[i] == str ) {
			return true;
		}
	}
	return false;
}

// ---------------------------------------------------------
// only charGroup like ("0123456789")  : true
// ---------------------------------------------------------
String.prototype.isOnly = 
function __isOnly( strGroup ) {
	var str = this.valueOf();
	for ( i = 0; i < str.length; i++ ) {
		if ( strGroup.indexOf( str.substr( i, 1 ) ) == -1 ) {
			return false;
		}
	}
	return true;
}

// ---------------------------------------------------------
// string round with point
// ---------------------------------------------------------
String.prototype.round = 
function __round( nPoint ) {
	if ( arguments.length == 0 ) {
		nPoint = 0;
	}
	var num = parseFloat(this.valueOf());
	var nOffset = Math.pow(10,nPoint);
	var ret = Math.round( num * nOffset ) / nOffset;
	return ret;
}

// ---------------------------------------------------------
// cut like round
// ---------------------------------------------------------
String.prototype.cut = 
function __cut( nPoint ) {
	if ( arguments.length == 0 ) {
		nPoint = 0;
	}
	var num = parseFloat(this.valueOf());
	var nOffset = Math.pow(10,nPoint);
	var ret = 0;
	if ( num >= 0 ) {
		ret = Math.floor( num * nOffset )  / nOffset;
	}
	else {
		ret = Math.ceil( num * nOffset )  / nOffset;
	}
	return ret;
}

// ---------------------------------------------------------
// up like round
// ---------------------------------------------------------
String.prototype.up = 
function __up( nPoint ) {
	if ( arguments.length == 0 ) {
		nPoint = 0;
	}
	var num = parseFloat(this.valueOf());
	var nOffset = Math.pow(10,nPoint);
	var ret = 0;
	if ( num >= 0 ) {
		ret = Math.ceil( num * nOffset )  / nOffset;
	}
	else {
		ret = Math.floor( num * nOffset )  / nOffset;
	}
	return ret;
}