|
日時: 2018/02/04 19:17
名前: lightbox
|
String オブジェクトの追加メソッドとして実装しています。
後、日付チェック等必要ですが、日付関連は結構システムに依存するので。
また、入力フォーマットを前提として定義する必要もあるし、最近はカレンダー使えるから省きました。
( zzz,zzz,zz9 format は、WEB から拾ってきました。)
trim は、ここのコードを参照して下さい。
漢字スペースもトリムする必要あるのですが、キャラクタセットによって差し替えないといけないので。
↓このようにして利用できます
拡張子:
// *****************************************************************************
// 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;
}
|