var sMessage = "";
function setMessage(msgID,obj) {
if(msgID=="") return msgID;
var stemp1 = "";
if ( msgID=="MSG_G0001") stemp1="に半角数字型の値を入力してください。";
if ( msgID=="MSG_G0002") stemp1="に半角英字型の値を入力してください。";
if ( msgID=="MSG_G0003") stemp1="に半角英数字型の値を入力してください。";
if ( msgID=="MSG_G0004") stemp1="に半角英数字 + \"-\" + \"_\" 型の値を入力してください。";
if ( msgID=="MSG_G0005") stemp1="に半角文字型の値を入力してください。";
if ( msgID=="MSG_G0006") stemp1="に全角文字型の値を入力してください。";
if ( msgID=="MSG_G0007") stemp1="に文字として判別を入力してください。";
if ( msgID=="MSG_G0008") stemp1="に全角カナ文字型の値を入力してください。";
if ( msgID=="MSG_G0009") stemp1="に有効な日付を入力してください。";
if ( msgID=="MSG_G0010") stemp1="に有効な日付形式(yyyy/mm/dd)を入力してください。";
if ( msgID=="MSG_G0011") stemp1="に有効な年を入力してください。";
if ( msgID=="MSG_G0012") stemp1="に有効な月を入力してください。";
if ( msgID=="MSG_G0013") stemp1="に有効な日を入力してください。";
if ( msgID=="MSG_G0014") stemp1="に有効な時間を入力してください。";
if ( msgID=="MSG_G0015") stemp1="に有効な時刻形式(hh:mm)を入力してください。";
if ( msgID=="MSG_G0016") stemp1="に有効な時間を入力してください。";
if ( msgID=="MSG_G0017") stemp1="に有効な分を入力してください。";
if ( msgID=="MSG_G0018") stemp1="に有効なメールアドレス(xxx@xx.xx.xx の形式)を入力してください。";
if ( msgID=="MSG_G0019") stemp1="に有効な電話番号を入力してください。";
if ( msgID=="MSG_G0020") stemp1="に有効な市外局番を入力してください。";
if ( msgID=="MSG_G0021") stemp1="に有効な市内局番を入力してください。";
if ( msgID=="MSG_G0022") stemp1="に有効な電話番号を入力してください。";
if ( msgID=="MSG_G0023") stemp1="に有効な郵便番号を入力してください。";
if ( msgID=="MSG_G0024") stemp1="に有効な整数を入力してください。";
if ( msgID=="MSG_G0025") stemp1="に有効な小数を入力してください。";
if ( msgID=="MSG_G0026") stemp1="に有効な日付を入力してください。";
if ( msgID=="MSG_G0027") stemp1="に半角カナが含まれを入力してください。";
if ( msgID=="MSG_G0028") stemp1="に桁で指定された数値以下を入力してください。";
if ( msgID=="MSG_G0029") stemp1="にファイル名として許される文字を入力してください。";
if ( msgID=="MSG_G0030") stemp1="に値を入力してください。";
if ( msgID=="MSG_G0031") stemp1="メールアドレスとメールアドレス(確認用)が一致しません。";
if ( msgID=="MSG_G0032") stemp1="桁以下の値を入力してください。";
if ( msgID=="MSG_G0033") stemp1="桁の値を入力してください。";
if ( msgID=="MSG_G0034") stemp1="を入力してください。";
if ( msgID=="MSG_G0035") stemp1="を正しく入力してください。";
if ( msgID=="MSG_G0036") stemp1="には0より大きい値を入力してください。";
if ( msgID=="MSG_G0038") stemp1="には6桁以上の値を入力してください。";
if ( msgID=="MSG_G0039") stemp1="には32桁以下の値を入力してください。";
if ( msgID=="MSG_G0037") stemp1 = "{0}は{1}桁以上{2}桁以内で入力してください。";
if ( msgID=="MSG_G0040") stemp1 = "{0}は{1}バイト数以上{2}バイト数以内で入力してください。";
if ( msgID=="MSG_G0041") stemp1 = "携帯メールアドレスと携帯メールアドレス(確認用)が一致しません。";
if ( msgID=="MSG_G0042") stemp1="には10桁以下の値を入力してください。";
if ( msgID=="MSG_G0043") stemp1="には48桁以下の値を入力してください。";
if ( msgID=="MSG_G0044") stemp1="に有効なカード番号を入力してください。";
if ( msgID=="MSG_G0045") stemp1="に半角英数字混合6-20文字以内で記入してください。";
if ( msgID=="MSG_G0046") stemp1 = "新パスワードと新パスワード(再確認)が一致しません。";
if ( msgID=="MSG_G0047") stemp1="に半角英字また英数字6-48文字以内で記入してください。";
if ( msgID=="MSG_G0048") stemp1="に文字を入力してください。";
if ( msgID=="MSG_G0050") stemp1 = "商品合計金額3150未満なので、ヒラキライフカードの一括払いで払うしかないです。";
if ( msgID=="MSG_G0051") stemp1="商品が品切れのため、ご注文いただけません。";
if ( msgID=="MSG_G0052") stemp1="を選択してください。";
if ( msgID=="MSG_G0094") stemp1="に数値を入力して下さい。";
if ( msgID=="MSG_G0095") stemp1="正しい数字を入力してください。";
if ( msgID=="MSG_G0096") stemp1="カタログ請求のきっかけを選択してください。";
if ( msgID=="MSG_G0097") stemp1="入力されたカード番号はヒラキライフカードの番号です。";
if ( msgID=="MSG_G0098") stemp1="ヒラキライフカードを選択してください。";
if ( msgID=="MSG_G0099") stemp1="個人情報の取り扱いについては同意いただく必要があります。";
if ( msgID=="MSG_G0100") stemp1="18歳未満の方は保護者の同意が必要です。";
if ( msgID=="MSG_G0037" || msgID=="MSG_G0040")
{
for (i = 0;i < obj.length;i++) {
var str = "{" + i + "}";
stemp1 = stemp1.replace(str,obj[i]);
}
sMessage += stemp1 + "\n";
}
else
{
sMessage += obj + stemp1 + "\n";
}
}
function showMessage(){
if(sMessage !="") {
alert(sMessage);
sMessage = "";
return false;
}
return true;
}
/**
* ナビゲータはサファリであるかどうか判断
* @return サファリの場合true を返し、それ以外false を返します
*/
function isSafari() {
if (navigator.userAgent.match(/safari/im) == null) {
return false;
} else {
return true;
}
}
/** 5.1
* value で指定された文字列が半角数字のみであるかを調べます
* @value 対象となる文字列
* @return 半角数字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidNumber(value){
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9]/gm));
} else {
kigouArray= value.match("[^0-9]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.2
* value で指定された文字列が半角英字のみであるかを調べます
* @value 対象となる文字列
* @return 半角英字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidAlphabet(value){
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^a-zA-Z]/gm));
} else {
kigouArray= value.match("[^a-zA-Z]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.3
* value で指定された文字列が半角英数字のみであるかを調べます
* @value 対象となる文字列
* @return 半角英数字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidAlphabetAndNumber(value){
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9a-zA-Z]/gm));
} else {
kigouArray= value.match("[^0-9a-zA-Z]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.4
* value で指定された文字列が半角英数字 + "-" + "_" のみであるかを調べます
* @value 対象となる文字列
* @return 半角英数字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidAlphabetAndNumberPlus(value){
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9a-zA-Z-_]/gm));
} else {
kigouArray= value.match("[^0-9a-zA-Z-_]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.5
* value で指定された文字列が半角文字のみであるかを調べます
* @value 対象となる文字列
* @return 半角文字のみするならば、true を返し、それ以外ならば false を返します
*/
function isValidAscii(value){
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9a-zA-Z\uFF61-\uFFDC]/gm));
if(kigouArray != null) ret= false;
} else {
kigouArray= value.match("[^0-9a-zA-Z]", "gm");
if(kigouArray != null) {
return false;
}
// 範囲外の場合
if(doLoop(value, 0xFF61, 0xFFDC, 2)) {
ret = false;
}
}
return ret;
}
/** 5.6
* value で指定された文字列が全角文字のみであるかを調べます
* @value 対象となる文字列
* @return 全角文字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidDoubleByte(value){
var ret = true;
if (value == "") return ret;
ret = isDoubleByte(value)
return ret;
}
/** 5.6
* value で指定された文字列が全角文字のみであるかを調べます
* @value 対象となる文字列
* @return 全角文字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidDoubleByte1(value){
var ret = true;
if (value == "") return ret;
ret = isDoubleByte1(value)
return ret;
}
/** 5.7
* value で指定された文字列が文字として判別できるかを調べます
* @value 対象となる文字列
* @return 判別できるならば、true を返し、それ以外ならば false を返します
*/
function isValidString(value) {
var ret = true;
ret = isString(value);
return ret;
}
/** 5.8
* value で指定された文字列が全角カナ文字のみであるかを調べます
* @value 対象となる文字列
* @return 全角カナ文字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidKanaString(value) {
return isKanaString(value);
}
/** 5.9
* value で指定された文字列が有効な日付であるかを調べます
* @value 対象となる文字列
* @return 有効な日付ならば、true を返し、それ以外ならば false を返します
*/
function isValidDate(value) {
if (value == "") return true;
var re=/^(\d{1,4})(|\/)(\d{1,2})\2(\d{1,2})(?:\s+(\d{1,2}):(\d{1,2}):(\d{1,2}))*$/g;
var r = value.match(re);
if(r == null){
return false;
}
else
{
var arrDate = value.split("/");
if(arrDate[0].length <4){
return false;
}
var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
/*2007/09/04 yufeng update start*/
var sYear = (date.getYear()<1900?(1900+date.getYear()):date.getYear());
/*2007/09/04 yufeng update end*/
if(sYear == arrDate[0]
&& date.getMonth() == (parseInt(arrDate[1],10) -1)+""
&& date.getDate() == arrDate[2]){
return true;
}
else{
return false;
}
}
}
/** 5.10
* value で指定された文字列が日付形式(yyyy/mm/dd)であるかを調べます
* @value 対象となる文字列
* @return 日付形式(yyyy/mm/dd)ならば、true を返し、それ以外ならば false を返します
*/
/* 使わないため、コメントする
function isValidFormatDate(value) {
var ret = false;
if (value == "") return true;
if ( value.length != 10 ) {
return ret;
}
var cnt=0;
for(cnt; cnt < value.length; cnt++) {
var c = value.charAt(cnt);
//alert(cnt);
if(cnt == 4 || cnt == 7 )
{
var kigouArray = new Array();
kigouArray=c.match(new RegExp(/[^\u002f]/gm));//0x002f = "/"
if(kigouArray != null) ret= false;
//alert(ret);
}
else
{
ret = isNumber( c );
}
if( ret == false ) {
return ret;
}
}
return ret;
}
*/
/** 5.11
* value で指定された文字列が有効な年であるかを調べます
* @value 対象となる文字列
* @return 有効な年ならば、true を返し、それ以外ならば false を返します
*/
function isValidYYYY(value) {
var ret = true;
if (value == "") return ret;
if(!isNumber(value) || (value.length != 4)) {
return false;
}
if(parseInt(value) > 3000 || parseInt(value) < 1799) {
return false;
}
return ret;
}
/** 5.12
* value で指定された文字列が有効な月であるかを調べます
* @value 対象となる文字列
* @return 有効な月ならば、true を返し、それ以外ならば false を返します
*/
function isValidMM(value) {
var ret = true;
if (value == "") return ret;
if(value.length!=2){ret = false; return ret;}//2桁以外の入力は不可
ret=isNumber(value); //数値チェック
if(ret == false){return ret;}
//var iValue=parseInt(value);
//alert(iValue);
if(value <1 || value>12){return false;}
return true;
}
/** 5.13
* value で指定された文字列が有効な日であるかを調べます
* @value 対象となる文字列
* @return 有効な日するならば、true を返し、それ以外ならば false を返します
*/
function isValidDD(value) {
var ret = true;
if (value == "") return ret;
if(!isNumber(value) || (value.length != 2)) {
return false;
}
if(parseInt(value) > 31 || parseInt(value) < 1) {
return false;
}
return ret;
}
/** 5.14
* value で指定された文字列が有効な時間であるかを調べます
* @value 対象となる文字列
* @return 有効な時間ならば、true を返し、それ以外ならば false を返します
*/
function isValidTime(value) {
var ret = true;
if (value == "") return ret;
if(!isValidHH(value.substr(0,2))){return false;}
if(!isValidMINUTES(value.substring(3,5))){return false;}
return ret;
}
/** 5.15
* value で指定された文字列が時刻形式(hh:mm)であるかを調べます
* @value 対象となる文字列
* @return 時刻形式(hh:mm)ならば、true を返し、それ以外ならば false を返します
*/
function isValidFormatTime(value) {
var ret = true;
if (value == "") return ret;
if(value.length != 5) {
return false;
}
for(var cnt = 0; cnt < 5; cnt += 1) {
if(cnt == 2) {
ret = (value.charAt(2) == ":");
} else {
ret = isNumber( value.charAt(cnt) );
}
if(ret == false) {
return ret;
}
}
return ret;
}
/** 5.16
* value で指定された文字列が有効な時間であるかを調べます
* @value 対象となる文字列
* @return 有効な時間ならば、true を返し、それ以外ならば false を返します
*/
function isValidHH(value) {
if (value == "") return true;
if(value.length!=2){return false;}//2桁以外の入力は不可
var ret=isNumber(value);
if(ret==false) return ret;
var iValue=parseInt(value);
if(iValue <0 || iValue>23){return false;}
return true;
}
/** 5.17
* value で指定された文字列が有効な分であるかを調べます
* @value 対象となる文字列
* @return 有効な分ならば、true を返し、それ以外ならば false を返します
*/
function isValidMINUTES(value) {
var ret = true;
if (value == "") return ret;
if(!isNumber(value) || (value.length != 2)) {
return false;
}
if(value < 0 || value > 59) {
return false;
}
return ret;
}
/** 5.18
* value で指定された文字列が有効なメールアドレス(xxx@xx.xx.xx の形式)であるかを調べます
* @value 対象となる文字列
* @return 有効なメールアドレスならば、true を返し、それ以外ならば false を返します
*/
function isValidEmail(value) {
var ret = true;
if (value == "") return ret;
//"@"位置チェック
var i;
i = value.length;
var j;
j= value.indexOf("@");
if(j<= 0 || j == i-1){ret = false;return ret;}//@存在/中間チェック
//alert(i+j);
var k;
k = value.lastIndexOf("@");
if(j!=k){ret = false;return ret;}//@複数チェック
//alert(i+j+k);
var m = value.lastIndexOf(".");
if(k > m || k+1 == m){
return false;
}
if(value.length == m+1){
return false;
}
return isEmail(value);
}
/** 5.19
* value で指定された文字列が有効な電話番号であるかを調べます
* 電話番号は、英数字ハイフンで構成されたものに限ります
* @value 対象となる文字列
* @return 有効な電話番号ならば、true を返し、それ以外ならば false を返します
*/
/*
function isValidTelNo(value) {
if (value == "") return true;
var vals = new Array(4);
for(var i=0;i 3) {
return false;
}
} else {
return false;
}
}
switch (vals[0]){
case 1: // ハイフンが一つの時 ***-*** 形式であること
if (parseInt(vals[1]) < 2 || parseInt(vals[2]) < 4) return false;
break;
case 2: // ハイフンが二つの時 ***-***-*** 形式であること
if (parseInt(vals[1]) < 2 || parseInt(vals[2]) < 0 || parseInt(vals[3]) < 4) return false;
break;
default:
return false; // ハイフンの数は1以上、2以下(市内局番がない地域があることを考慮)
}
return true;
}
*/
/** 5.20
* value で指定された文字列が有効な市外局番であるかを調べます
* @value 対象となる文字列
* @return 有効な市外局番ならば、true を返し、それ以外ならば false を返します
*/
function isValidTelNo1(value) {
var ret = true;
ret = isValidNumber(value);
return ret;
}
/** 5.21
* value で指定された文字列が有効な市内局番であるかを調べます
* @value 対象となる文字列
* @return 有効な市内局番ならば、true を返し、それ以外ならば false を返します
*/
function isValidTelNo2(value) {
var ret = true;
ret = isValidNumber(value);
return ret;
}
/** 5.22
* value で指定された文字列が有効な電話番号であるかを調べます
* @value 対象となる文字列
* @return 有効な電話番号ならば、true を返し、それ以外ならば false を返します
*/
function isValidTelNo3(value) {
var ret = true;
ret = isValidNumber(value);
return ret;
}
/** 5.23
* value で指定された文字列が有効な郵便番号であるかを調べます
* @value 対象となる文字列
* @return 有効な郵便番号ならば、true を返し、それ以外ならば false を返します
*/
/*
function isValidZipCode(value) {
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
// 桁数チェック
if(value.length != 8) {
ret = false;
return ret;
}
for(var cnt = 0; cnt < 8; cnt += 1) {
var c = value.charAt(cnt);
if(cnt == 4) {
kigouArray = c.match(new RegExp(/[^\u002d]/gm));
if(kigouArray != null) {
ret = false;
}
} else {
ret = isNumber(c);
}
if(ret == false) {
return ret;
}
}
return ret;
}
*/
/** 5.24
* value で指定された文字列が有効な整数であるかを調べます
* @value 対象となる文字列
* @return 有効な整数ならば、true を返し、それ以外ならば false を返します
*/
function isValidInteger(value) {
if (value == "") return true;
try{
if(!isInteger(value))
return false;
var lng = parseInt(value);
//alert(lng.toString().length);
if(isNaN(lng))
return false;
else if(lng.toString().length
* @value 対象となる文字列
* @return 有効な小数ならば、true を返し、それ以外ならば false を返します
*/
function isValidDecimal(value) {
var ret = true;
var dot = 0;
var flag = 0;
if(!isDecimal(value)) {
return false;
}
for(var cnt = 0; cnt < value.length; cnt += 1) {
if(cnt == 0 && value.charAt(cnt) == ".") {
return false;
} else if(cnt == 1 && value.charAt(1) == "." && value.charAt(0) == "-") {
return false;
} else if(value.charAt(cnt) == "-" && cnt != 0) {
return false;
} else if(value.charAt(cnt) == "-") {
flag++;
} else if(value.charAt(cnt) == ".") {
dot++;
}
}
if(flag > 1 || dot > 1) {
return false;
}
return ret;
}
/** 5.26
* value で指定された文字が半角数字であるかを調べます
* @value 対象となる文字
* @return 半角数字ならば、true を返し、それ以外ならば false を返します
*/
function isNumber(value) {
var ret = true;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9]/gm));
} else {
kigouArray= value.match("[^0-9]", "gm");
}
if(kigouArray != null) {
ret = false;
} else {
ret = true;
}
return ret;
}
/** 5.27
* value で指定された文字が半角英字であるかを調べます
* @value 対象となる文字
* @return 半角英字でるならば、true を返し、それ以外ならば false を返します
*/
function isAlphabet(value){
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^a-zA-Z]/gm));
} else {
kigouArray= value.match("[^a-zA-Z]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.28
* value で指定された文字が半角英数字であるかを調べます
* @value 対象となる文字
* @return 半角英数字でるならば、true を返し、それ以外ならば false を返します
*/
function isAlphabetAndNumber(value) {
return isNumber(value) || isAlphabet(value);
}
/** 5.29
* value で指定された文字が半角英数字 + "-" + "_"であるかを調べます
* @value 対象となる文字
* @return 半角英数字でるならば、true を返し、それ以外ならば false を返します
*/
function isAlphabetAndNumberPlus(value) {
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9a-zA-Z-_]/gm));
} else {
kigouArray= value.match("[^0-9a-zA-Z-_]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.30
* value で指定された文字が半角文字(ASCII)であるかを調べます
* @value 対象となる文字
* @return 半角文字(ASCII)ならば、true を返し、それ以外ならば false を返します
*/
function isAscii(value) {
var ret = true;
var kigouArray = new Array();
if(value == "") {
return ret;
}
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^\uFF61-\uFFDC]/gm));
if(kigouArray != null) {
ret = false;
} else {
ret = true;
}
} else {
// 範囲外の場合
if(doLoop(value,0xFF61,0xFFDC,2)) {
ret = false;
}
}
return ret;
}
/** 5.31
* value で指定された文字が全角文字であるかを調べます
* @value 対象となる文字
* @return 全角文字ならば、true を返し、それ以外ならば false を返します
*/
function isDoubleByte(value) {
if (value == "") return true;
var ret = true;
var kigouArray = new Array();
if(value == "") {
return ret;
}
var cnt = 0;
if (!isSafari()) {
for (cnt = 0; cnt < value.length; cnt += 1) {
var c=value.charAt(cnt);
//半角片仮名
kigouArray = c.match(new RegExp(/[^\uff61-\uff9f]/gm));
if(kigouArray == null) {
ret = false;
}
}
if(ret ==false ) return ret ;
for (cnt = 0; cnt < value.length; cnt += 1) {
var c=value.charAt(cnt);
kigouArray = c.match(new RegExp(/[^\u0020-\u007e]/gm));
if(kigouArray == null) {
ret = false;
}
}
} else {
//全角チェック
ret = doLoop(value,0xff61,0xff9f,1);
if(ret ==false ) return ret ;
ret = doLoop(value,0x0020,0x007e,2);
}
return ret;
}
/** 5.31
* value で指定された文字が全角文字であるかを調べます
* @value 対象となる文字
* @return 全角文字ならば、true を返し、それ以外ならば false を返します
*/
function isDoubleByte1(value) {
var ret = false;
for(var i=0;i= 0xff61 && c<=0xff9f)) {
ret = false;
}
else {
return true;
}
}
return ret;
}
/** 5.32
* value で指定された文字が半角カナであるかどうかを調べます
* @value 対象となる文字
* @return 半角カナが含まれているならば、true を返し、それ以外ならば false を返します
*/
//sufeng update start 10070725
function isString(value) {
if(value == "") {
return true;
}
return !(isHalfKana(value));
//sufeng update end 10070725
}
/** 5.33
* value で指定された文字列に半角カナが含まれているかを調べます
* @value 対象となる文字列
* @return 半角カナ文字が含まれていればtrue を返し、それ以外ならば false を返し
*/
function isHalfKanaString(value){
return isHalfKana(value);
}
/** 5.34
* value で指定された文字が全角カナ文字であるかを調べます
* @value 対象となる文字
* @return 全角カナ文字ならば、true を返し、それ以外ならば false を返します
*/
function isKanaString(value) {
return isAscii(value) || isFullKataKana(value);
}
/** 5.35
* value で指定された文字列が keta で指定された数値以下であるかを調べます
* @value 対象となる文字列
* @keta 桁数
* @return keta 数以下または数字以外の値が value に含まれているならば、false を返し、それ以外ならば true を返します
*/
function isNumberAndKeta(value, keta) {
var ret = true;
var i;
i = value.length;
if(i
* @value 対象となる文字
* @return 全角カナならば true を返し、それ以外ならば false を返します
*/
function isFullKataKana(value) {
var ret = true;
var kigouArray = new Array();
if(value == "") {
return ret;
}
if (!isSafari()) {
kigouArray = value.match(new RegExp(/[^\u30a0-\u30fc]/gm));
if(kigouArray != null) {
ret = false;
} else {
ret = true;
}
} else {
// 範囲外の場合
if(doLoop(value, 0x30a0, 0x30fc, 2)) {
ret = false;
}
}
return ret;
}
/** 5.37
* value で指定された文字列がファイル名として許される文字のみであるかを調べます
* @value 対象となる文字列
* @return ファイル名用文字のみならば、true を返し、それ以外ならば false を返します
*/
function isValidFileName(value) {
var ret = true;
var firstChar = true ;
//ファイル名称のサイズをチェックする。
if (value.length > 256) return false;
var cnt = 0;
for (cnt = 0; cnt < value.length; cnt += 1) {
var c=value.charAt(cnt);
if ( firstChar ) {
ret = isFileNameAsFirstChar(c) ;
firstChar = false ;
} else {
ret = isFileName(c);
}
if(ret == false){return ret;}
}
return ret;
}
/** 5.38
* value で指定された文字に半角カナが含まれているかどうかを調べます
* @value 対象となる文字
* @return 半角カナならば true を返し、それ以外ならば false を返します
*/
function isHalfKana(value) {
var ret = true;
var kigouArray = new Array();
if(value == "") {
return ret;
}
if (!isSafari()) {
kigouArray = value.match(new RegExp(/[^\uff61-\uff9f]/gm));
if(kigouArray != null) {
ret = false;
} else {
ret = true;
}
} else {
// 範囲外の場合
if(doLoop(value, 0xff61, 0xff9f, 2)) {
ret = false;
}
}
return ret;
}
/** 5.38
* value で指定された文字に半角カナが含まれているかどうかを調べます
* @value 対象となる文字
* @return 半角カナならば true を返し、それ以外ならば false を返します
*/
function isHalfKana1(value) {
var ret = true;
var kigouArray = new Array();
if(value == "") {
return ret;
}
if (!isSafari()) {
kigouArray = value.match(new RegExp(/[^\uff61-\uff9f]/gm));
if(kigouArray != null) {
ret = false;
} else {
ret = true;
}
} else {
// 範囲外の場合
if(doLoop(value, 0xff61, 0xff9f, 2)) {
ret = false;
}
}
return ret;
}
/** 5.39
* value で指定された文字が整数であるかを調べます
* @value 対象となる文字
* @return 整数ならば true を返し、それ以外ならば false を返します
*/
function isInteger(value) {
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
//kigouArray= value.match(new RegExp(/[^0-9\u002d]/gm));
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9\u002d]/gm));
} else {
kigouArray= value.match("[^0-9\u002d]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.40
* value で指定された文字に '-' または半角数字が含まれているかどうかを調べます
* @value 対象となる文字
* @return '-' または半角数字ならば true を返し、それ以外ならば false を返します
*/
function isTelNo(value) {
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
kigouArray= value.match(new RegExp(/[^0-9\u002d]/gm));
} else {
kigouArray= value.match("[^0-9\u002d]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.41
* value value で指定された文字列が有効なメールアドレス(xxx@xx.xx.xx の形式)であるかを調べます
* @value 対象となる文字
* @return @return 有効なメールアドレスならば、true を返し、それ以外ならば false を返します
*/
function isEmail(value) {
//return (isAlphabetAndNumber(value) ||
//value == 0x002d || value == 0x002e || value == 0x0040 || value == 0x005f );
var ret = true;
if (value == "") return ret;
var kigouArray = new Array();
if (!isSafari()) {
//kigouArray= value.match(new RegExp(/[^0-9a-zA-Z\u002d\u002e\u0040\u005f]/gm));
kigouArray= value.match(new RegExp(/[^0-9a-zA-Z\u0020\u0021\u0022\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F\u003A\u003B\u003C\u003D\u003E\u003F\u0040\u005B\u005C\u005C\u005D\u005E\u005F\u0060\u007B\u007C\u007D\u007E\uFF61\uFF62\uFF63\uFF64\uFF65\uFF70\uFF9E\uFF9F]/gm));
} else {
//kigouArray= value.match("[^0-9a-zA-Z\u002d\u002e\u0040\u005f]", "gm");
var value1=value.replace(/\\/g,"");
kigouArray= value1.match("[^0-9a-zA-Z\u0020\u0021\u0022\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F\u003A\u003B\u003C\u003D\u003E\u003F\u0040\u005B\u005C\u005D\u005E\u005F\u0060\u007B\u007C\u007D\u007E\uFF61\uFF62\uFF63\uFF64\uFF65\uFF70\uFF9E\uFF9F]", "gm");
}
if(kigouArray != null) ret= false;
return ret;
}
/** 5.42
* value で指定された文字に '-' または '.' が含まれているかどうかを調べます
* @value 対象となる文字
* @return '-' または '.' ならば true を返し、それ以外ならば false を返します
*/
function isDecimal(value) {
var ret = true;
var kigouArray = new Array();
if(value == "") {
return ret;
}
if (!isSafari()) {
kigouArray = value.match(new RegExp(/[^0-9\u002d\u002e]/gm));
} else {
kigouArray = value.match("[^0-9\u002d\u002e]", "gm");
}
if(kigouArray != null) {
ret = false;
} else {
ret = true;
}
return ret;
}
/** 5.43
* ch で指定された文字がファイル名先頭の文字として使用可能な文字であるかを調べます
* @ch 対象となる文字
* @return 有効な文字ならば、true を返し、それ以外ならば false を返します
*/
function isFileNameAsFirstChar(c) {
return (isAlphabetAndNumber(c) ||
c == '_' || c == '.' );
}
/** 5.44
* c で指定された文字がファイル名で使用可能な記号であるかを調べます
* @c 対象となる文字
* @return 有効な文字ならば、true を返し、それ以外ならば false を返します
*/
function isFileName(c) {
return (isAlphabetAndNumber(c) ||
c == '_' || c == '-' || c == '.' );
}
/** 5.45
* value で指定された文字に半角カナが含まれているかどうかを調べます
* @value 対象となる文字
* @return 半角カナならば true を返し、それ以外ならば false を返します
*
* @author BBX
*/
function havehalfkana(value) {
var ret = true;
var kigouArray = new Array();
if(value == "") {
return ret;
}
if (!isSafari()) {
kigouArray = value.match(new RegExp(/[\uff61-\uff9f]/gm));
if(kigouArray == null) {
ret = false;
}
} else {
//範囲内場合
ret = !doLoop(value, 0xff61, 0xff9f, 2);
}
return ret;
}
/** 5.46
* value で指定された文字が半角カナ文字或は全角カナ文字であるかを調べます
* @value 対象となる文字
* @return 半角カナ文字或は全角カナ文字ならば、true を返し、それ以外ならば false を返します
*/
function isHanKanaOrZenKanaString(value) {
return isAscii(value) || isFullKataKana(cnvt(value));
}
/**
* 不正文字判定処理
*
* @param value
* @return true:正確文字 false:不正文字
*
* @author BBX
*/
function isInvalidMonJi(value) {
if (value == "") return false;
if(isValidAlphabetAndNumber(value)==true
||isHalfKana(value)==true
||isFullKataKana(value)==true
||isDoubleByte(value)==true){
return false;
}
return true;
}
/**
* メッセージ設定処理
*
* @author BBX
*/
function setMessageEx(msgID,objArr) {
if(msgID=="") {
return msgID;
}
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("js/message.xml");
var node = xmlDoc.selectSingleNode("/root/" + msgID)
if(node) {
sMessage = node.text;
for (i = 0;i < objArr.length;i++) {
var str = "{" + i + "}";
sMessage = sMessage.replace(str,objArr[i]);
}
sMessage += "\n";
}
}
/**
*
* スペースを除く
* @author BBX
*/
function trim( s ) {
return s.replace( /^\s*/, "" ).replace( /\s*$/, "");
}
/**
* スペースをreplace
*
* @author BBX
*/
function replaceAll(sValue) {
var sRet = "";
var sTemp = "";
for (i = 0;i < sValue.length;i++ ) {
sTemp = sValue.charAt(i);
if ( (escape(sTemp)=="%81%40") || (escape(sTemp)=="%u3000") ) {
sTemp = "";
}
sRet += sTemp;
}
return sRet;
}
/**
* 入力データ判定
*
* @param sValue 入力データ
* @return true: 入力データあり
* false: 入力データなし
*
* @author BBX
*/
function hasValue(sValue) {
if(sValue == "") {
return false;
}
sTemp =replaceAll(sValue);
sTemp = trim(sTemp);
if(sTemp == "") {
return false;
}
return true;
}
/**
* データバイト数の比較
*
* @param strInput 入力データ
* @param intMaxLength バイト数
* @return -1:< ; 0:= ; 1: >
* @author BBX
*/
function compareByteLength(strInput,intLength) {
var bytes = getBytes(strInput);
if(bytes > intLength){
return 1;
} else if (bytes == intLength) {
return 0;
} else {
return -1;
}
}
/**
* データバイト数を取得する
*
* @param strInput 入力データ
* @return バイト数を戻す
* @author BBX
*/
function getBytes(strInput) {
var hanKanaStart = "0xFF65"
var hanKanaEnd = "0xFF9F"
var charCd;
count = 0;
for (i=0; i=65281 && code<= 65373){
result += String.fromCharCode(str.charCodeAt(i)-65248);
}else if(code ==12288){
result += String.fromCharCode(str.charCodeAt(i)-12288+32);
}else{
result += str.charAt(i);
}
}
document.getElementById(textId).value = result;
return false;
}
/**
* 全角数字を半角数字に変換する
* @param textId
* @author ITFOR
*/
function toNumber(textId) {
var zenkaku = "1234567890";
var hankaku = "1234567890";
var num=document.getElementsByName(textId);
if (num==null) {
var content=document.getElementsById(textId).value;
for (var i = 0; i < content.length; i++) {
var ch = content.substr(i, 1);
var position = zenkaku.indexOf(ch);
if (position != -1) {
result = result + hankaku.substr(position, 1);
} else {
result = result + ch;
}
}
document.getElementsById(textId).value = result;
}
for(j=0;j
* 電話番号は、英数字ハイフンで構成されたものに限ります
* @value 対象となる文字列
* @return -1:非電話番号 1:自宅電話 2:携帯電話
* @author BBX 2008/05/05
*/
function checkTel(value) {
if (value == "" || value == null) {
return -1;
}
var kigouArray = new Array();
kigouArray = value.split("-");
if (kigouArray.length != 3) {
return -1;
}
for (var cnt = 0; cnt < kigouArray.length; cnt++) {
if (!isNumber(kigouArray[cnt])) {
return -1;
}
}
var str0 = kigouArray[0];
var str1 = kigouArray[1];
var str2 = kigouArray[2];
// 三つブロックの結合
var telStr = str0 + str1 + str2;
if(telStr.length >2 &&
(telStr.substring(0, 3) == "090"
|| telStr.substring(0, 3) == "080"
|| telStr.substring(0, 3) == "070"
|| telStr.substring(0, 3) == "050")) {
// 11桁以外は不正電話番号
if (telStr.length != 11){
return -1;
//}else if (str1.length == 4 && str1 == "0000") {
//第二エリアのオールゼロチェックする
// return -1;
}else {
return 2;
}
}
if ((str0.length + str1.length + str2.length) == 10) {
if (str0.charAt(0) != "0") {
return -1;
}
if (str0.length < 2 || str0.length > 5) {
return -1;
}
if (str1.length < 1 || str1.length > 4) {
return -1;
}
if (str0.length + str1.length != 6) {
return -1;
}
if (str2.length != 4) {
return -1;
}
// if (str1 == "0000") {
// return -1;
// }
// if (str2 == "0000") {
// return -1;
// }
// if (str0.length == 5) {
// if (str0 == "00000") {
// return -1;
// }
// }
if(!/^0[1-9][0-9]+$/.test(telStr)){
return -1;
}
//市外局番号全0check
var flagshiwi = -1;
// for(var ii=1;ii
* @value 対象となる文字列
* @return false:非郵便番号 true:郵便番号
* @author BBX 2008/05/05
*/
function checkPostcode(value) {
if (value == "" || value == null) {
return false;
}
var kigouArray = new Array();
kigouArray = value.split("-");
if (kigouArray.length != 2) {
return false;
}
for (var cnt = 0; cnt < kigouArray.length; cnt++) {
if (!isNumber(kigouArray[cnt])) {
return false;
}
}
var str0 = kigouArray[0];
var str1 = kigouArray[1];
if (str0.length != 3) {
return false;
}
if (str1.length != 4) {
return false;
}
return true;
}
//ADD 2008/05/05 Hiraki END
/**
* ASCII符号(JIS英数字符号)が全角を半角に変換する
*
* @param content 対象となる文字列
* @return
* @author Achievo
*/
function cnvtFullToHalf(textId) {
var zenAlphbt = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var hanAlphbt = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var zenNum = "1234567890";
var hanNum = "1234567890";
var zenSp = " ";
var hanSp = " ";
var zenSign = "!#$%&’()=|‐-^¥@‘[{+;*:]}<,>.?/_";
var hanSign = "!#$%&'()=|--^\\@`[{+;*:]}<,>.?/_";
var zenkaku = zenAlphbt + zenNum + zenSp + zenSign;
var hankaku = hanAlphbt + hanNum + hanSp + hanSign;
var content = document.getElementsByName(textId).item(0).value;
var result = "";
if (content != "") {
// “”→"
content = content.replace(/“/g, "\"");
content = content.replace(/”/g, "\"");
// signs
for (var i = 0; i < content.length; i++) {
var ch = content.charAt(i);
var position = zenkaku.indexOf(ch);
if (position != -1) {
result = result + hankaku.substr(position, 1);
} else {
result = result + ch;
}
}
document.getElementsByName(textId).item(0).value = result;
}
return false;
}
/** 5.31
* value 共通ループ、sort=1 [loopValue<256あり]
* sort=2 [loopValue<256なし]
* @value 対象となる文字
* @return 範囲外なら:true を返し、それ以外ならば false を返します
*/
function doLoop(value,start,end,sort) {
var ret = true;
var loopE = value.length;
var loopValue;
for (var i = 0; i = start && loopValue<=end)) {
// 範囲内
ret = false;
break;
}
} else if(sort == 2) {
if(loopValue >= start && loopValue<=end) {
// 範囲内
ret = false;
break;
}
}
}
return ret;
}
/** 10.08
* value サファリ対応:文字列の先頭、後ろのすべてのスペース削除
* @value 対象となる文字
* @return trim後の文字列
*/
function trimForSafari(str) {
var strStart = 0;
var strEnd = str.length;
strstart = 0;
for (i = 0; i < str.length; i++) {
if (str.substring(i,i+1)==' ' || str.substring(i,i+1)==' ')
strstart++;
else
break;
}
strend = str.length;
for (i = strend; i >= 0; i--) {
if (str.substring(i-1,i)==' ' || str.substring(i-1,i)==' ')
strend--;
else
break;
}
//alert(strstart+":"+strend);
if(strstart == str.length) {
return "";
} else {
return str.substring(strstart,strend);
}
}
/** 10.08
* value サファリ対応:文字列の先頭、後ろの全角スペース削除、ログイン画面のみ
* @value 対象となる文字
* @return trim後の文字列
*/
function trimForSafari1(str) {
var strStart = 0;
var strEnd = str.length;
strstart = 0;
for (i = 0; i < str.length; i++) {
if (str.substring(i,i+1)==' ')
strstart++;
else
break;
}
strend = str.length;
for (i = strend; i >= 0; i--) {
if (str.substring(i-1,i)==' ')
strend--;
else
break;
}
//alert(strstart+":"+strend);
if(strstart == str.length) {
return "";
} else {
return str.substring(strstart,strend);
}
}