英数字の全角半角変換
全角英数字⇒半角
全角英数字を半角に変換する
テスト 変換結果 :
CODE
Javascript
//全角英数字を半角にする
function zen2han(val){
var halfVal = val.replace(/[!-~]/g,
function( tmpStr ) {
return String.fromCharCode( tmpStr.charCodeAt(0) - 0xFEE0 );
}
);
// 文字コードシフトで対応できない文字の変換
return halfVal.replace(/”/g, "\"")
.replace(/’/g, "'")
.replace(/‘/g, "`")
.replace(/¥/g, "\\")
.replace(/ /g, " ")
.replace(/〜/g, "~");
}
半角英数字を全角に変換する
テスト 変換結果 :
CODE
Javascript
//半角英数字を全角にする
function han2zen(val){
var fullVal = val.replace(/[A-Za-z0-9]/g,
function(tempStr) {
return String.fromCharCode(tempStr.charCodeAt(0) + 65248);
}
);
return fullVal;
}
文字列の数字を編集
文字列の数字にカンマを入れる
テスト 変換結果 :
CODE
Javascript
//カンマ挿入関数
function prtf(str)
{
var dec = str.lastIndexOf(".",str.length);
var s = str;
var tail = "";
if(dec != -1){ //<--小数点以下を逃がす
tail = str.substring(dec, str.length);
s = str.substring(0,dec);
}
return f(s) + tail;
}
文字列の数字のカンマを削除する
テスト 変換結果 :
CODE
Javascript
//カンマ削除関数
function f(str)
{
var cond = str.indexOf(",",0) == -1;
var s = str.substring(str.length-3,str.length);
if(f.arguments[1] != null) s+=f.arguments[1];
if(str.length>3){
if(cond) s = ","+s; //<--区切り文字を挿入
return f(str.substring(0,str.length-4+cond), s);
}
else return s.substring(0,2)=="-," ? "-"+s.substring(2,s.length): s;
}
四捨五入する
四捨五入の位置
0:小数点以下1位で、1:10の位、2:100の位、-1:小数点以下1位に
CODE
Javascript
// 四捨五入する
Math.round = function (num,point)
{
if(isNaN(num) && isNaN(point))
{
return NaN;
}
if(!point)
{
return Math.round2(num);
}
var place = Number('1e+'+Math.abs(point));
if(point > 0)
{
num = Math.round2(Math.floor2((num/place)*10)/10)*place;
}
if(point < 0)
{
num = Math.round2(num*place)/place;
}
return num;
}
切り捨て
切り捨ての位置
0:小数点以下1位で、1:10の位、2:100の位、-1:小数点以下1位に
CODE
Javascript
//floorオーバーライド(切捨て)
Math.floor = function (num,point)
{
if(isNaN(num) && isNaN(point))
{
return NaN;
}
if(!point)
{
return Math.floor2(num);
}
var place = Number('1e+'+Math.abs(point));
if(point > 0)
{
num = Math.floor2(Math.floor2((num/place)*10)/10)*place;
}
if(point < 0)
{
num = Math.floor2(num*place)/place;
}
return num;
}
切り上げ
切り上げの位置
0:小数点以下1位で、1:10の位、2:100の位、-1:小数点以下1位に
CODE
Javascript
//ceilオーバーライド(切り上げ)
Math.ceil = function (num,point)
{
if(isNaN(num) && isNaN(point))
{
return NaN;
}
if(!point)
{
return Math.ceil2(num);
}
var place = Number('1e+'+Math.abs(point));
if(point > 0)
{
num = Math.ceil2(Math.floor2((num/place)*10)/10)*place;
}
if(point < 0)
{
num = Math.ceil2(num*place)/place;
}
return num;
}