js画面数据检测方法集
来源:互联网 发布:淘宝商品视频如何上传 编辑:程序博客网 时间:2024/04/29 06:17
//'===============================================================================
//'
//' JSCommon.js
/
// ---------------------------------------------------------------------------
// 機能: デバッグメッセージ表示
// 引数: (1)メッセージ内容
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function DebugMsg(msg)
{
var DEBUG_MODE=false;
if (DEBUG_MODE == true)
{
alert(msg);
}
}
// ---------------------------------------------------------------------------
// 機能: カーソル設定
// 引数: (1)objItem:対象オブジェクト
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_SetFocus(objID1,objID2)
{
try{
var objTmp1,objTmp2;
if(typeof(objID1) == "object")
{
objTmp1 = objID1;
} else if(typeof(objID1) == "string")
{
objTmp1 = document.all(objID1);
}
if(typeof(objID2) == "object")
{
objTmp2 = objID2;
} else if(typeof(objID2) == "string")
{
objTmp2 = document.all(objID2);
}
if(objTmp1 != undefined && objTmp1.disabled == false)
{
objTmp1.focus();
return;
}
if(objTmp2 != undefined && objTmp2.disabled == false)
{
objTmp2.focus();
return;
}
}catch(E){
}
}
function cc_SetFocus1stText(form){
var frmObj;
frmObj = form;
if (frmObj == undefined){
frmObj = document.forms[0];
}
var elements = frmObj.elements;
for (var i = 0; i < elements.length; i++) {
if (elements[i].type == 'text' || elements[i].type == 'select-one' ) {
if (elements[i].disabled == false)
{
elements[i].focus();
break;
}
}
}
}
// ---------------------------------------------------------------------------
// 機能: エラー発生入力欄の背景色設定
// 引数: (1)objItem:対象オブジェクト
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_SetErrColor(objErr)
{
try{
objErr.style.backgroundColor="yellow";
objErr.focus();
}catch(E){}
}
// ---------------------------------------------------------------------------
// 機能: カーソル設定時、入力欄の背景色を緑に設定する
// 引数: (1)objItem:対象オブジェクトID
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_onFocusSetColor(objId)
{
try{
var objTxt = document.all(objId);
objTxt.style.backgroundColor="lightgreen";
}catch(E){}
}
// ---------------------------------------------------------------------------
// 機能: カーソル外す時、入力欄の背景色を白に設定する
// 引数: (1)objItem:対象オブジェクトID
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_onBlurClearColor(objId)
{
try{
var objTxt = document.all(objId);
objTxt.style.backgroundColor="white";
}catch(E){}
}
// ---------------------------------------------------------------------------
// 機能: エラー項目背景消す処理
// 引数: (1)エラー項目オブジェクト
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_ClearErrColor(objErr)
{
try{
objErr.style.backgroundColor="white";
}catch(E){
}
}
// ---------------------------------------------------------------------------
// 機能: 郵便番号値妥当性チェック
// 引数: (1)入力された郵便番号値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckPostNO(strValue)
{
if (strValue == "")
{
return true;
}
var r1;
r1 = strValue.match(/^/d{3}-/d{4}$|^/d{7}$/);
if(r1 == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: メールサーバアドレスがチェック
// 引数: (1)入力されたメールサーバ
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMail(strValue){
var r1;
r1 = strValue.match(/^[A-Za-z0-9]+[/w-]+@[/w/.-]+/./w{2,}$/);
if(r1 == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: メールサーバ情報 メールサーバアドレスがチェック
// 引数: (1)入力されたメールサーバ
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMailServer(strValue){
var r1;
r1 = strValue.match(/^[A-Za-z0-9]+[/w._-]+$/);
if(r1 == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: 電話番号妥当性チェック
// 引数: strValue:入力された電話番号値バリュー
// strPattern:電話パタン
// 1:会社自宅電話
// 2:携帯電話
// 3:両方も可能
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckTel(strValue, strPattern)
{
var r1;
var r2;
var r3;
if (strValue == "")
{
return true;
}
var ALL0_TEXT = "000000000000000000000000000";
var sTempAll0;
var sTelNum;
sTelNum = replaceAll(strValue,"-","");
sTempAll0 = ALL0_TEXT.substring(0,sTelNum.length);
if(sTelNum == sTempAll0)
{
return false;
}
if(strPattern == "0")
{
r1 = strValue.match(/^/d{6}-/d{4}$|^/d{10}$/);
//10桁数字(999999-9999)
if(r1 == null )
{
return false;
}
return true;
}
//自宅電話、会社電話
if(strPattern == "1")
{
r1 = strValue.match(/^/d{6}-/d{4}$|^/d{10}$/);
r2 = strValue.match(/^/d{7}-/d{4}$|^/d{11}$/);
//10,11桁数字(999999-9999、9999999-9999)
if(r1 == null && r2 == null)
{
return false;
}
return true;
}
//携帯電話
if(strPattern == "2")
{
r1 = strValue.match(/^[0][1-9][0]-/d{4}-/d{4}$|^[0][1-9][0]/d{8}$/);
if(r1 == null){
return false;
}
return true;
}
//携帯電話 Or 自宅、会社電話(電話種類不明)
if(strPattern == "3")
{
r1 = strValue.match(/^/d{7}-/d{4}$|^/d{11}$/);
r2 = strValue.match(/^/d{6}-/d{4}$|^/d{10}$/);
//10,11桁数字(999999-9999、9999999-9999)
if(r1 == null && r2 == null )
{
return false;
}
return true;
}
//電話
if(strPattern == "4")
{
r1 = strValue.match(/^/d{10}$/);
r2 = strValue.match(/^/d{11}$/);
r3 = strValue.match(/^/d{12}$/);
//10、11、12桁数字(9999999999、99999999999、999999999999)
if(r1 == null && r2 == null && r3 == null )
{
return false;
}
return true;
}
}
// ---------------------------------------------------------------------------
// 機能13 :全半角文字判定
// 引数 :strValue チェックする文字列
// 戻値 :true:全半角文字、false:全角文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckAreaTextHalf (strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
// Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff
// Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3
if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能13 :全角漢字カナ判定
// 引数 :strValue チェックする文字列
// 戻値 :true:全角漢字名、false:全角漢字名まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckInputValue7(Value)
{
for (var i = 0; i < Value.length; ++i) {
var c = Value.charCodeAt(i);
// 半角カタカナは不許可
if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能 :全角カナ判定と全角英数(2006/09/14)
// 引数 :strValue チェックする文字列
// 戻値 :true:全角カナ文字、false:全角カナ文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckZenkakatakana(strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
if((c >= 12449 && c <= 12531)
|| c == 12540
|| c == 12541
|| c == 12542
|| (c >= 65296 && c <= 65305)
|| (c >= 65313 && c <= 65338)
|| (c >= 65345 && c <= 65370)){
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能 :全角カナ判定と全角英数と"‐"(2006/09/14)
// 引数 :strValue チェックする文字列
// 戻値 :true:全角カナ文字、false:全角カナ文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckZenkakatakana1(strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
if((c >= 12449 && c <= 12531)
|| c == 12540
|| c == 12541
|| c == 12542
|| c == 8208
|| (c >= 65296 && c <= 65305)
|| (c >= 65313 && c <= 65338)
|| (c >= 65345 && c <= 65370)){
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能13 :全角カナ判定
// 引数 :strValue チェックする文字列
// 戻値 :true:全角カナ文字、false:全角カナ文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckZenkakukana (strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
if ( (12449 <= c && c <= 12542)) {
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能13 : 入力されたテキストアリアの桁数チェックを行う。
// 引数 : (1) 入力された値バリュー
// (2) テキストアリア桁数
// (3) 必須桁数 0:必須しない 1:必須
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckAreaText (strValue, strLen, mustFlag)
{
try
{
// 入力された値が存在しないの場合は、Trueを戻す
if (strValue == null || strValue == undefined)
{
return true;
}
if (mustFlag == 0 || mustFlag == null || mustFlag == undefined)
{
if (strValue.length > strLen)
{
return false;
}
else
{
return true;
}
}
else
{
if (strValue.length == strLen)
{
return true;
}
else
{
return false;
}
}
}
catch(ex)
{
}
}
// ---------------------------------------------------------------------------
// 機能11 : 入力必須チェック
// 引数 : (1) 入力された値バリュー
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckInput (strValue)
{
try
{
if(Trim(strValue) == "")
{
return false;
}
return true;
}
catch(ex)
{
}
}
// ---------------------------------------------------------------------------
// 機能 : 日付妥当性チェック
// 引数 : (1) 入力された日付値バリュー
// (2) フォーマット形式 (例: “yyyymmdd”、“yyyymm”、・・・)
// 1 MMDD
// 2 YYYY/MM/DD
// 3 YY/MM/DD
// 4 YYYYMMDD
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :2006/04/05 By Huang Yejun
// ⇒SQL ServerにてDATETIME型では、1753年1月1日から9999年12月31日までの日付しか扱えません
// ---------------------------------------------------------------------------
function cc_CheckDate(strValue, strFormat)
{
var r;
var Year;
var Month;
var Day;
var Flag;
// 形式をチェック
if(strFormat == "1")
{
r = strValue.match(/^(0[1-9]|10|11|12)([1-2][0-9]|0[0-9]|30|31)$/);
//年、月、日を取得します
if(r != null)
{
Year = undefined;
Month = strValue.substr(0,2);
Day = strValue.substr(2,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if(strFormat == "2")
{
r = strValue.match(/^([1-2]/d{3})(//)(0[1-9]|10|11|12)(//)([1-2][0-9]|0[0-9]|30|31)$/);
//年、月、日を取得します
if(r != null)
{
Year = strValue.substr(0,4);
Month = strValue.substr(5,2);
Day = strValue.substr(8,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if(strFormat == "3")
{
r = strValue.match(/^(/d{2})(//)(0[1-9]|10|11|12)(//)([1-2][0-9]|0[0-9]|30|31)$/);
//年、月、日を取得します
if(r != null)
{
Year = strValue.substr(0,2);
Month = strValue.substr(3,2);
Day = strValue.substr(6,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if (strFormat == "4")
{
if (cc_CheckAreaText(strValue, 8, 1)
&& cc_CheckInputValue(strValue, 2))
{
Year = strValue.substr(0,4);
Month = strValue.substr(4,2);
Day = strValue.substr(6,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if (strFormat == "5")
{
if (cc_CheckAreaText(strValue, 6, 1)
&& cc_CheckInputValue(strValue, 2))
{
Year = strValue.substr(0,4);
Month = strValue.substr(4,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if(strFormat == "6")
{
r = strValue.match(/^([1-2]/d{3})(0[1-9]|10|11|12)$/);
//年、月を取得します
if(r != null)
{
Year = strValue.substr(0,4);
Month = strValue.substr(4,2);
Flag = true;
}
else
{
Flag = false;
}
}
if(Flag == true)
{
if (Year == 0000 || Month == 00 || Day == 00)
{
return false;
}
if (Year == undefined)
{
Year = "0000";
}
if (Month > 12 || Day > 31)
{
return false;
}
// When Month =( 4,6,9,11) Day <= 30
if ((Month == 04 || Month == 06 || Month == 09 || Month == 11) && (Day > 30))
{
Flag = false;
}
else if(Month == 02)
{
if(LeapYear(Year))
{
if(Day > 29 || Day < 1)
{
Flag = false;
}
else
{
Flag = true;
}
}
else
{
if(Day > 28 || Day < 1)
{
Flag = false;
}
else
{
Flag = true;
}
}
}
else
{
Flag = true;
}
}
if(strFormat == "2" )
{
if(strValue < '1753/01/01')
return false;
}
else if(strFormat == "4")
{
if(strValue < '17530101')
return false;
}
else if(strFormat == "5")
{
if(strValue < '175301')
return false;
}
return Flag;
}
//閏年をチェック:ture=Is LeapYear;false=Not LeapYear
function LeapYear(intYear)
{
if(intYear%100 == 0)
{
if(intYear%400 == 0)
{
return true;
}
}
else
{
if(intYear%4 == 0)
{
return true;
}
}
return false;
}
// ---------------------------------------------------------------------------
// 機能 : 時刻妥当性チェック
// 引数 : (1) 入力された時刻値バリュー
// (2) フォーマット形式(例:“hhmmss”、“hhmm”、・・・)
// 1. hh:mm:ss
// 2. hh:mm
// 3. hh
// 4. mm
// 5. hhmm
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckTime (strValue, strFormat)
{
var r;
if(strFormat == "1")
{
r = strValue.match(/^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])))$/);
}
else if(strFormat == "2")
{
r = strValue.match(/^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/);
}
else if(strFormat == "3")
{
r = strValue.match(/^([0-9]|[01][0-9]|2[0-3])$/);
}
else if(strFormat == "4")
{
r = strValue.match(/^([0-9]|[0-5][0-9])$/);
}
else if(strFormat == "5")
{
var sHour = strValue.substring(0,2);
var sMin = strValue.substring(2,4);
if (strValue.length != 4)
return false;
if (cc_CheckTime(sHour,"3"))
if (cc_CheckTime(sMin,"4"))
return true;
return false;
}
if(r == null)
{
return false;
}
else
{
return true;
}
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力された日付FROM値バリュー
// (2) 入力された日付TO値バリュー
// (3) 入力された日付値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckDateRange (strDateFrom, strDateTo, strValue)
{
if(cc_CheckDate(strDateFrom) && cc_CheckDate(strDateTo) && cc_CheckDate(strValue))
{
if(strValue < strDateFrom || strValue > strDateTo )
return false;
else
return true;
}
else
return false;
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲月チェック
// 引数: (1) 入力された月付値バリュー
// (2) 入力された日付値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMonth (strYMonth, strValue)
{
if(strYMonth.substr(0,4) != strValue.substr(0,4))
return false;
else
{
if(strYMonth.substr(4,2) != strValue.substr(4,2))
return false;
else
return true;
}
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力された日付FROM値バリュー
// (2) 入力された日付TO値バリュー
// 3) 入力された時刻FROM値バリュー
// (4) 入力された時刻TO値バリュー
// (5) 入力された日付値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckDateTimeRange (strValue,strFromDate,strToDate,strFromTime,strToTime)
{
var Flag;
var Date;
var Time;
var rValue = strValue.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);
var rFromDate = strFromDate.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);
var rToDate = strToDate.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);
var rFromTime = strFromTime.match(/^(/d{1,2}):(/d{1,2}):(/d{1,2})$/);
var rToTime = strToTime.match(/^(/d{1,2}):(/d{1,2}):(/d{1,2})$/);
if(rValue != null && rFromDate != null && rToDate != null && rFromTime != null && rToTime != null)
{
Date = strValue.substr(0,10)
Time = strValue.substr(11,8)
Flag = true;
}
else
{
Flag = false;
}
if(Flag == true)
{
if(Date > strToDate || Date < strFromDate || Time > strToTime || Time < strFromTime)
{
Flag = false;
}
else
Flag = true;
}
return Flag;
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力された日付FROM値バリュー YYYYMMDD
// (2) 入力された日付TO値バリュー YYYYMMDD
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckDatePeriod(strFromDate, strToDate)
{
if (strToDate < strFromDate)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: 入力値妥当性チェック
// 引数: (1) 入力された値バリュー
// (2) パタン strPattern
// 例:
// “1” 半角数値のみ (0012の場合は12に変更)
// “2” 半角数字のみ
// “3” 半角英数字のみ
// “4” 半角カタカナのみ
// “5” 全角のみ
// "6" 半角数字のみ(1~3)
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckInputValue (strValue,strPattern)
{
var bCheckSuccess;
if(strPattern == "1")
{
//半角数値のみ
bCheckSuccess = cc_CheckInputValue1(strValue);
}
else if(strPattern == "2")
{
//半角数字のみ
bCheckSuccess = cc_CheckInputValue2(strValue);
}
else if(strPattern == "3")
{
//半角英数字のみ
bCheckSuccess = cc_CheckInputValue3(strValue);
}
else if(strPattern == "4")
{
//半角カタカナのみ
bCheckSuccess = cc_CheckInputValue4(strValue);
}
else if(strPattern == "5")
{
//全角カナ文字
bCheckSuccess = cc_CheckInputValue5(strValue);
}
else if(strPattern == "6")
{
//半角数字のみ(1~3)
bCheckSuccess = cc_CheckInputValue6(strValue);
}
else if(strPattern == "7")
{
//全角漢字名
bCheckSuccess = cc_CheckInputValue7(strValue);
}
return bCheckSuccess;
}
//半角数値のみ (0012の場合は12に変更)
function cc_CheckInputValue1(strValue)
{
return !isNaN(strValue);
}
//半角数字のみ
function cc_CheckInputValue2(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[0-9]$/);
if(r == null)
Flag = false;
else
Flag = true;
}
return Flag;
}
//半角数字のみ(1~3)
function cc_CheckInputValue6(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[1-3]$/);
if(r == null)
Flag = false;
else
Flag = true;
}
return Flag;
}
//半角英数字のみ
function cc_CheckInputValue3(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[0-9a-zA-Z]$/);
if(r == null)
Flag = false;
else
Flag = true;
}
return Flag;
}
//半角カタカナのみ
function cc_CheckInputValue4(strValue)
{
i = 0;
var Flag = true;
while(Flag && i<strValue.length)
{
dore=escape(strValue.charAt(i));
if((navigator.appName.indexOf("Netscape")!=-1)
&& dore.length==3 && dore.indexOf("%")!=-1)
{
Flag = true;
}
else if((navigator.appName.indexOf("Internet Explorer")!=-1)
&& dore.length==6 && dore.indexOf("%uFF")!=-1
&& '0x'+dore.substring(2,dore.length) > 0xFF66
&& '0x'+dore.substring(2,dore.length) < 0xFFA0)
{
Flag = true;
}
else
{
Flag = false;
}
i++;
}
return Flag;
}
/* 全角ふりがなチェック */
function CheckFurigana(str)
{
var r1;
r1 = str.match( /[^ぁ-んァ-ン /s]+/ ) ;
if( r1 = null)
{
return false;
}
return true;//ア-ン
}
function isHankaku(str)
{
var esc_str = escape(str);
var ms = navigator.appVersion.indexOf("MSIE");
var nesc = navigator.appName.lastIndexOf("Netscape"); //一致した位置(0)を返す
if(nesc >= 0){
if ((esc_str.indexOf('%A') == 0) ||
(esc_str.indexOf('%B') == 0) ||
(esc_str.indexOf('%C') == 0) ||
(esc_str.indexOf('%D') == 0) ){
return true;
}
}else if(ms > 0){
if((esc_str.indexOf('%uFF6') == 0) ||
(esc_str.indexOf('%uFF7') == 0) ||
(esc_str.indexOf('%uFF8') == 0) ||
(esc_str.indexOf('%uFF9') == 0) ) {
return true;
}
}
return(false);
}
function CheckHalfKatakana(str)
{
var r1;
r1= str.match( /[^ア-ン /s]+/ );
if(r1= null)
{
return false;
}
var len = str.length;
var i;
var pos;
for ( i = 0 ; i < len ; i++ )
{
pos = str.substring(i, i+1);
if( isHankaku(pos) == false)
{
return false;
}
}
return true;
}
//全角のみ
function cc_CheckInputValue5(strValue)
{
for(i=0; i<strValue.length; i++)
if(!isZenkaku(strValue.charCodeAt(i)))
return false;
return true;
}
//全角カナチェック
function isZenkaku(code){
return ((code>=0x3041 && code<=0x308f) ||
(code>=0x30a1 && code<=0x30ef) ||
(code>=0xff01 && code<=0xff5d) ||
(code==0x2019) ||
(code==0x201d) ||
(code==0x3000) ||
(code==0x3001) ||
(code==0x3002) ||
(code==0x300c) ||
(code==0x300d) ||
(code==0x3092) ||
(code==0x3093) ||
(code==0x309b) ||
(code==0x309c) ||
(code==0x30f2) ||
(code==0x30f3) ||
(code==0x30f4) ||
(code==0x30fb) ||
(code==0x30fc) ||
(code==0xffe3) ||
(code==0xffe5) )
}
// ---------------------------------------------------------------------------
// 機能: 金額値妥当性チェック
// 引数: (1)入力された金額値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMoney(strValue)
{
var temp;
temp = strValue;
if (temp.indexOf(',') != -1)
{
if (cc_ChangeMoneyFormat1(temp) != strValue)
{
return false;
}
}
var r = temp.match(//d$/);
if(r == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: 金額値を金額形式(”999,999,999”)に変更する
// 引数: (1)入力された金額値バリュー
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_ChangeMoneyFormat1(strValue)
{
var result;
var strTemp ;
if (strValue.indexOf(',') != -1)
{
strTemp = replaceAll(strValue,',','');
}
else
{
strTemp = strValue;
}
var arrNum = strTemp.split('.');
if (arrNum.length == 1)
{
result = InertComma(arrNum[0]) ;
}
else if (arrNum.length == 2)
{
result = InertComma(arrNum[0]) + '.' + arrNum[1];
}
else
{
result = strValue;
}
return result;
}
// ---------------------------------------------------------------------------
// 機能: 金額形式を数字に変更する。
// 引数: (1)入力された金額値バリュー
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_ChangeMoneyFormat2(strValue)
{
return replaceAll(strValue,',','');
}
function InertComma(strValue)
{
return (strValue.replace(/([/d]+?)(?=(?:/d{3})+$)/g, function (t) { return t+","; }));
}
function replaceAll (streng, soeg, erstat)
{
var st = streng;
if (soeg.length == 0)
{
return st;
}
var idx = st.indexOf(soeg);
while (idx >= 0)
{
st = st.substring(0,idx) + erstat + st.substr(idx+soeg.length);
idx = st.indexOf(soeg);
}
return st;
}
/*
共通JavaScript関数
以下の内容を含む:
1.Trim(str)--配列内のスペースを削除
4.IsEmpty(obj)--インポートボックスがNULLかどうかチェックする
5.IsInt(objStr,sign,zero)--正整数かどうかチェックする
6.IsFloat(objStr,sign,zero)--??是否?浮点数
7.IsEnLetter(objStr,size)--半角英字かどうかチェックする
*/
/*********************************************
1. LTrim(str):配列の左のスペースを削除
2. RTrim(str):配列の右のスペースを削除
3. Trim(str):配列内のスペースを削除
*********************************************/
function LTrim(str)
{
return str.replace(/^[ /t/n/r]+/g, "");
}
function RTrim(str)
{
return str.replace(/[ /t/n/r]+$/g, "");
}
function Trim(str)
{
return RTrim(LTrim(str));
}
/*
================================================================================
NULLかどうかチェックする関数
================================================================================
*/
function IsEmpty(obj)
{
obj=document.getElementsByName(obj).item(0);
if(Trim(obj.value)=="")
{
if(obj.disabled==false && obj.readOnly==false)
{
obj.focus();
}
}
}
/*
正整数をチェックする
*/
function IsInt(objStr,sign,zero)
{
var reg;
var bolzero;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((sign==null)||(Trim(sign)==""))
{
sign="+-";
}
if((zero==null)||(Trim(zero)==""))
{
bolzero=false;
}
else
{
zero=zero.toString();
if(zero=="0")
{
bolzero=true;
}
else
{
}
}
switch(sign)
{
case "+-":
//整数
reg=/(^-?|^/+?)/d+$/;
break;
case "+":
if(!bolzero)
{
//正整数
reg=/^/+?[0-9]*[1-9][0-9]*$/;
}
else
{
//正整数+0
reg=/^/+?[0-9]*[0-9][0-9]*$/;
}
break;
case "-":
if(!bolzero)
{
//マイナス整数
reg=/^-[0-9]*[1-9][0-9]*$/;
}
else
{
//マイナス整数+0
reg=/^-[0-9]*[0-9][0-9]*$/;
}
break;
default:
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
/*
float nummberかどうかをチェックする関数
*/
function IsFloat(objStr,sign,zero)
{
var reg;
var bolzero;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((sign==null)||(Trim(sign)==""))
{
sign="+-";
}
if((zero==null)||(Trim(zero)==""))
{
bolzero=false;
}
else
{
zero=zero.toString();
if(zero=="0")
{
bolzero=true;
}
else
{
}
}
switch(sign)
{
case "+-":
//float nummber
reg=/^((-?|/+?)/d+)(/./d+)?$/;
break;
case "+":
if(!bolzero)
{
//正float nummber
reg=/^/+?(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//正float nummber + 0
reg=/^/+?/d+(/./d+)?$/;
}
break;
case "-":
if(!bolzero)
{
//マイナスfloat nummber
reg=/^-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//マイナスfloat nummber + 0
reg=/^((-/d+(/./d+)?)|(0+(/.0+)?))$/;
}
break;
default:
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
function cc_CheckRadioBox(objName)
{
var obj = document.all(objName);
if (obj == false)
{
return -1;
}
if (!obj.length)
{
return obj.checked;
}
else
{
for(i = 0; i< obj.length; i++)
{
if(obj[i].checked)
return true;
}
}
return false;
}
function GetRadioBoxSelIndex(objName)
{
var obj = document.all(objName);
if (obj == null)
{
return -1;
}
if (!obj.length)
{
if (obj.checked)
return 0;
else
return -1;
}
else
{
for(i = 0; i< obj.length; i++)
{
if(obj[i].checked)
return i;
}
}
return -1;
}
function SetRadioBoxSelIndex(objName,nIdx)
{
var obj = document.all(objName);
var i;
if (obj == null)
{
return false;
}
if (!obj.length)
{
if (nIdx == 0){obj.checked = true;}
else{obj.checked = false;}
}
else
{
for(i = 0; i< obj.length; i++)
{
if (nIdx == i){obj[i].checked = true;break; }
else{obj[i].checked = false;}
}
}
}
function GetListObjectValue(objName,nIdx)
{
var obj = document.all(objName);
var value ;
var i;
if (obj == null)
{
return false;
}
if (!obj.length)
{
if (nIdx == 0)
{
value = obj.value;
}
}
else
{
for(i = 0; i< obj.length; i++)
{
if (nIdx == i)
{
value = obj[i].value;
break;
}
}
}
return value;
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力欄フォーカスがはずれたとき
// (2) 変換パターン:1(金額),2(電話番号),3(郵便版番号)
// 戻値: なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_onfocus(objName,Type)
{
var obj = document.all(objName);
if (obj == null)
return
var strValue = obj.value;
if (Type == 1)
{
obj.value = replaceAll(strValue,',','');
} else if (Type == 2)
{
obj.value = replaceAll(strValue,'-','');
} else if (Type == 3)
{
obj.value = replaceAll(strValue,'-','');
}else if(Type == 4)
{
obj.value = replaceAll(strValue,':','');
}
}
// ---------------------------------------------------------------------------
// 機能: 入力欄フォーカスフを失った時に処理
// 引数: (1) 対象オブジェクト
// (2) 変換パターン:1(金額),2(電話番号),3(郵便版番号)
// 戻値: なし
// 新規:
// 修正: 2007/07/24 HuangYejun@UFIDA 金額All0入力対応 前頭0削除処理追加
// ---------------------------------------------------------------------------
function cc_onBlur(objName,Type)
{
var obj = document.all(objName);
if (obj == null)
return
var strValue = obj.value;
if (Trim(strValue) == "")
return;
if (Type == 1)
{
strValue = replaceAll(strValue,',','');
if (strValue.match(/[^0-9]/g) != null)
{
return ;
}
var nNum = ParseNum(strValue) ;
var sNum = String(nNum);
obj.value = cc_ChangeMoneyFormat1(sNum);
} else if (Type == 2)
{
strValue = replaceAll(strValue,'-','');
if (strValue.length < 9 || strValue.length > 11)
return;
obj.value = insertStringAtE(strValue,4,"-");
} else if (Type == 3)
{
strValue = replaceAll(strValue,'-','');
if (strValue.length !=7)
return;
obj.value = insertStringAt(strValue,3,"-");
}else if(Type == 4)
{
strValue = replaceAll(strValue,':','');
if (strValue.length !=4)
return;
obj.value = insertStringAt(strValue,2,":");
}
}
// ---------------------------------------------------------------------------
// 機能: 電話番号入力欄フォーカスフを失った時に処理
// 引数: (1) 対象オブジェクト名
// (2) 変換パターン:0(普通),1(携帯電話)
// 戻値: なし
// 新規:
// 修正:
// ' 9桁用の編集をかけて表示する。9桁の表示フォーマット:99999-9999
// ' 10桁用の編集をかけて表示する。10桁の表示フォーマット:999999-9999
// ' 11桁(携帯ではない)の表示フォーマット:9999999-9999
// ' 11桁(携帯)の表示フォーマット:999-9999-9999
// ---------------------------------------------------------------------------
function cc_onTelBlur(objName,Type)
{
var obj = document.all(objName);
if (obj == null)
return;
var strValue = obj.value;
if (Trim(strValue) == "")
return;
if (strValue.indexOf('-') != -1)
return;
if (Type == 0)
{
//if (cc_CheckTel(strValue,"1") == true)
//電話番号のハイフン表示において5桁以上入力の場合のみハイフン表示を行う
if(cc_CheckInputValue2(strValue) == true)
{
if (strValue.length < 5 )
return;
obj.value = insertStringAtE(strValue,4,"-");
}
} else if (Type == 1)
{
//if (cc_CheckTel(strValue,"2") == true)
if(cc_CheckInputValue2(strValue) == true)
{
if (strValue.length != 11 )
return;
strValue = insertStringAt(strValue,3,"-");
strValue = insertStringAt(strValue,8,"-");
obj.value = strValue;
}
}
}
// ---------------------------------------------------------------------------
// 機能: 金額大小比較
// 引数: (1) argNum1 : 金額1
// (2) argNum2 : 金額2
// 戻値: True : 金額1 >= 金額2 / False : 金額1 < 金額2
// 新規:
// 備考: 金額1は数値ではない場合、無限大と見られる
// 金額2は数値ではない場合、無限小と見られる
// ---------------------------------------------------------------------------
function cc_MoneyCompare(argNum1,argNum2)
{
var sNum1,sNum2;
var nNum1,nNum2;
sNum1 = replaceAll(argNum1,',','');
sNum2 = replaceAll(argNum2,',','');
if(sNum1.match(/[^0-9]/g))
{
return true;
}
if(sNum2.match(/[^0-9]/g))
{
return false;
}
nNum1 = ParseNum(sNum1);
nNum2 = ParseNum(sNum2);
if (nNum1 >= nNum2)
{
return true;
} else
{
return false;
}
}
// ---------------------------------------------------------------------------
// 機能: 文字列を数値(金額)へ変換
// 引数: (1) argNum : 対象文字列
// 戻値: 数値
// 新規:
// 備考: JavaScriptのparseInt関数は前頭「0」文字列を数値へ変換すると
// 「0」の結果なってしまうこと避ける
// ---------------------------------------------------------------------------
function ParseNum(argNum)
{
var sNum ;
var nNum ;
if (argNum.length == 0)
{
return 0;
}
sNum = replaceAll(argNum,',','');
nNum = Number(sNum);
if(isNaN(nNum))
{
return 0;
}
return nNum;
}
// ---------------------------------------------------------------------------
// 機能: 入力データが半角英数字混在判定する
//
//パラメータ: //
//strValue - form.element.value
//
//戻り値:
//
//strValueが半角英数字混在の場合:true
//上記以外の場合:False
//
//その他:
//
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
//Code:97~Code:122は「半角英字(小文字)」
// ---------------------------------------------------------------------------
function cc_CheckHaveAlphabetAndNumber(strValue)
{
var code;
var cntNum = 0;
var cntAlp = 0;
for (var i = 0; i < strValue.length; i++)
{
count = 0;
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
cntNum++;
}
/* 半角英字 */
if ((code >= 65 && code <= 90) || (code >= 97 && code <= 122))
{
cntAlp++;
}
}
if (cntNum > 0 && cntAlp >0 && (cntNum + cntAlp == strValue.length) )
{
return true;
} else
{
return false;
}
}
// ---------------------------------------------------------------------------
// 機能: 入力データが大英数字であること。
//
//パラメータ: //
//strValue - form.element.value
//
//戻り値:
//
//strValueが大英数字の場合:true
//上記以外の場合:False
//
//その他:
//
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
// ---------------------------------------------------------------------------
function cc_CheckBigAlphabetAndNumber(strValue)
{
var code;
var cntNum = 0;
var cntAlp = 0;
for (var i = 0; i < strValue.length; i++)
{
count = 0;
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
cntNum++;
}
/* 半角英字 */
if ((code >= 65 && code <= 90))
{
cntAlp++;
}
}
if ((cntNum > 0 || cntAlp >0) && (cntNum + cntAlp == strValue.length))
{
return true;
} else
{
return false;
}
}
// ---------------------------------------------------------------------------
// 機能:指定位置に子文字列を挿入する
//
//パラメータ:
// mainStr:対象文字列
// intPosition:位置
// insertStr:子文字列
//
//戻り値:
// 結果文字列
// ---------------------------------------------------------------------------
function insertStringAt(mainStr,intPosition,insertStr)
{
var len = mainStr.length
var front = mainStr.substring(0,intPosition)
var end = mainStr.substring(intPosition,len)
if(front != null && end != null) {
return front + insertStr + end
}
return null
}
// ---------------------------------------------------------------------------
// 機能:指定位置(後ろから数える)に子文字列を挿入する
//
//パラメータ:
// mainStr:対象文字列
// intPosition:位置
// insertStr:子文字列
//
//戻り値:
// 結果文字列
// ---------------------------------------------------------------------------
function insertStringAtE(mainStr,intPosition,insertStr)
{
var len = mainStr.length
var front = mainStr.substring(0,len - intPosition)
var end = mainStr.substring(len - intPosition,len)
if(front != null && end != null) {
return front + insertStr + end
}
return null
}
//半角数字のみチェック
function cc_CheckInputNum(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[0-9]$/);
if(r == null)
{
Flag = false;
break;
}
else
{
Flag = true;
}
}
return Flag;
}
// ---------------------------------------------------------------------------
// 機能:為替規定文字判定する
//
//パラメータ: //
//strValue - form.element.value
//戻り値:
//
//strValueが為替規定文字のみの場合:true
//上記以外の場合:False
//
//その他:
//為替規定文字:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
// アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン
// ゙゚ /,.()-/「」
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
//Code:65382、65393~Code:65439は「半角カタカナ」
//Code:32[スペース],40[(],41[)],44[,],45[-],46[.],47[/],92[/],65378[「],65379[」]記号
// ---------------------------------------------------------------------------
function cc_CheckExRegularChar(strValue)
{
var code;
var bRlst = true;
//ブランクのみ入力不可
if (strValue.length > 0 && Trim(strValue) == "")
{
DebugMsg("全スペース入力されています!");
return false;
}
for (var i = 0; i < strValue.length; i++)
{
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
}
/* 半角大英字 */
else if (code >= 65 && code <= 90)
{
}
/* 半角カタカナ */
else if (code == 65382 || (code >= 65393 && code <= 65439))
{
}
/* 記号、スペース */
else if (code == 32 || code == 40 || code == 41 || code == 44 ||code == 45
|| code == 46 || code == 47 || code == 92 || code == 65378 || code == 65379)
{
}
/* 上記以外入力不可とする */
else
{
DebugMsg("為替規定文字「" + strValue.substring(i,i+1) + "」が含まれています!");
bRlst = false;
break;
}
}
return bRlst;
}
function replaceExRegularChar(strValue)
{
var tempStr = strValue;
tempStr = replaceAll(tempStr,"ァ", "ア");
tempStr = replaceAll(tempStr,"ィ", "イ");
tempStr = replaceAll(tempStr,"ゥ", "ウ");
tempStr = replaceAll(tempStr,"ェ", "エ");
tempStr = replaceAll(tempStr,"ォ", "オ");
tempStr = replaceAll(tempStr,"ャ", "ヤ");
tempStr = replaceAll(tempStr,"ュ", "ユ");
tempStr = replaceAll(tempStr,"ョ", "ヨ");
tempStr = replaceAll(tempStr,"ッ", "ツ");
tempStr = replaceAll(tempStr,"ー", "-");
return tempStr;
}
// ---------------------------------------------------------------------------
// 機能:半角カナ(半角英数可)
//
//パラメータ: //
//strValue - form.element.value
//戻り値:
//
//strValueが為替規定文字のみの場合:true
//上記以外の場合:False
//
//その他:
//為替規定文字:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
// アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン
//
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
//Code:97~Code:122は「半角英字(小文字)」
//Code:65382、65393~Code:65439は「半角カタカナ」
//Code:32[スペース],40[(],41[)],44[,],45[-],46[.],47[/],92[/],65378[「],65379[」]記号
// ---------------------------------------------------------------------------
function cc_CheckCust(strValue)
{
var code;
var bRlst = true;
//ブランクのみ入力不可
if (strValue.length > 0 && Trim(strValue) == "")
{
DebugMsg("全スペース入力されています!");
return false;
}
for (var i = 0; i < strValue.length; i++)
{
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
}
/* 半角大英字 */
else if (code >= 65 && code <= 90)
{
}
/* 半角小英字 */
else if (code >= 97 && code <= 122)
{
}
/* 半角カタカナ */
else if (code == 65382 || code == 65392 || (code >= 65393 && code <= 65439))
{
}
/* スペース */
else if (code == 32 || code == 40 || code == 41 || code == 44 ||code == 45
|| code == 46 || code == 47 || code == 92 || code == 65378 || code == 65379)
{
}
/* 上記以外入力不可とする */
else
{
DebugMsg("為替規定文字「" + strValue.substring(i,i+1) + "」が含まれています!");
bRlst = false;
break;
}
}
return bRlst;
}
function cc_CheckHalfChar(strValue)
{
var code;
var bRlst = true;
for (var i = 0; i < strValue.length; i++)
{
code = strValue.charCodeAt(i);
/* 半角のみ */
if (code < 256 || (code >= 0xff61 && code <= 0xff9f))
{
} else
{
bRlst = false;
break;
}
}
return bRlst;
}
/**
* 全角であるかをチェックします。
*
* @param チェックする値
* @return ture : 全角 / flase : 全角以外
*/
function cc_CheckZenkakuChar(value) {
var code;
var bRlst = true;
for (var i = 0; i < value.length; ++i) {
code = value.charCodeAt(i);
// 半角カタカナは不許可
if (code < 256 || (code >= 0xff61 && code <= 0xff9f)) {
bRlst = false;
break;
}
}
return bRlst;
}
//'
//' JSCommon.js
/
// ---------------------------------------------------------------------------
// 機能: デバッグメッセージ表示
// 引数: (1)メッセージ内容
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function DebugMsg(msg)
{
var DEBUG_MODE=false;
if (DEBUG_MODE == true)
{
alert(msg);
}
}
// ---------------------------------------------------------------------------
// 機能: カーソル設定
// 引数: (1)objItem:対象オブジェクト
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_SetFocus(objID1,objID2)
{
try{
var objTmp1,objTmp2;
if(typeof(objID1) == "object")
{
objTmp1 = objID1;
} else if(typeof(objID1) == "string")
{
objTmp1 = document.all(objID1);
}
if(typeof(objID2) == "object")
{
objTmp2 = objID2;
} else if(typeof(objID2) == "string")
{
objTmp2 = document.all(objID2);
}
if(objTmp1 != undefined && objTmp1.disabled == false)
{
objTmp1.focus();
return;
}
if(objTmp2 != undefined && objTmp2.disabled == false)
{
objTmp2.focus();
return;
}
}catch(E){
}
}
function cc_SetFocus1stText(form){
var frmObj;
frmObj = form;
if (frmObj == undefined){
frmObj = document.forms[0];
}
var elements = frmObj.elements;
for (var i = 0; i < elements.length; i++) {
if (elements[i].type == 'text' || elements[i].type == 'select-one' ) {
if (elements[i].disabled == false)
{
elements[i].focus();
break;
}
}
}
}
// ---------------------------------------------------------------------------
// 機能: エラー発生入力欄の背景色設定
// 引数: (1)objItem:対象オブジェクト
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_SetErrColor(objErr)
{
try{
objErr.style.backgroundColor="yellow";
objErr.focus();
}catch(E){}
}
// ---------------------------------------------------------------------------
// 機能: カーソル設定時、入力欄の背景色を緑に設定する
// 引数: (1)objItem:対象オブジェクトID
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_onFocusSetColor(objId)
{
try{
var objTxt = document.all(objId);
objTxt.style.backgroundColor="lightgreen";
}catch(E){}
}
// ---------------------------------------------------------------------------
// 機能: カーソル外す時、入力欄の背景色を白に設定する
// 引数: (1)objItem:対象オブジェクトID
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_onBlurClearColor(objId)
{
try{
var objTxt = document.all(objId);
objTxt.style.backgroundColor="white";
}catch(E){}
}
// ---------------------------------------------------------------------------
// 機能: エラー項目背景消す処理
// 引数: (1)エラー項目オブジェクト
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_ClearErrColor(objErr)
{
try{
objErr.style.backgroundColor="white";
}catch(E){
}
}
// ---------------------------------------------------------------------------
// 機能: 郵便番号値妥当性チェック
// 引数: (1)入力された郵便番号値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckPostNO(strValue)
{
if (strValue == "")
{
return true;
}
var r1;
r1 = strValue.match(/^/d{3}-/d{4}$|^/d{7}$/);
if(r1 == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: メールサーバアドレスがチェック
// 引数: (1)入力されたメールサーバ
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMail(strValue){
var r1;
r1 = strValue.match(/^[A-Za-z0-9]+[/w-]+@[/w/.-]+/./w{2,}$/);
if(r1 == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: メールサーバ情報 メールサーバアドレスがチェック
// 引数: (1)入力されたメールサーバ
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMailServer(strValue){
var r1;
r1 = strValue.match(/^[A-Za-z0-9]+[/w._-]+$/);
if(r1 == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: 電話番号妥当性チェック
// 引数: strValue:入力された電話番号値バリュー
// strPattern:電話パタン
// 1:会社自宅電話
// 2:携帯電話
// 3:両方も可能
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckTel(strValue, strPattern)
{
var r1;
var r2;
var r3;
if (strValue == "")
{
return true;
}
var ALL0_TEXT = "000000000000000000000000000";
var sTempAll0;
var sTelNum;
sTelNum = replaceAll(strValue,"-","");
sTempAll0 = ALL0_TEXT.substring(0,sTelNum.length);
if(sTelNum == sTempAll0)
{
return false;
}
if(strPattern == "0")
{
r1 = strValue.match(/^/d{6}-/d{4}$|^/d{10}$/);
//10桁数字(999999-9999)
if(r1 == null )
{
return false;
}
return true;
}
//自宅電話、会社電話
if(strPattern == "1")
{
r1 = strValue.match(/^/d{6}-/d{4}$|^/d{10}$/);
r2 = strValue.match(/^/d{7}-/d{4}$|^/d{11}$/);
//10,11桁数字(999999-9999、9999999-9999)
if(r1 == null && r2 == null)
{
return false;
}
return true;
}
//携帯電話
if(strPattern == "2")
{
r1 = strValue.match(/^[0][1-9][0]-/d{4}-/d{4}$|^[0][1-9][0]/d{8}$/);
if(r1 == null){
return false;
}
return true;
}
//携帯電話 Or 自宅、会社電話(電話種類不明)
if(strPattern == "3")
{
r1 = strValue.match(/^/d{7}-/d{4}$|^/d{11}$/);
r2 = strValue.match(/^/d{6}-/d{4}$|^/d{10}$/);
//10,11桁数字(999999-9999、9999999-9999)
if(r1 == null && r2 == null )
{
return false;
}
return true;
}
//電話
if(strPattern == "4")
{
r1 = strValue.match(/^/d{10}$/);
r2 = strValue.match(/^/d{11}$/);
r3 = strValue.match(/^/d{12}$/);
//10、11、12桁数字(9999999999、99999999999、999999999999)
if(r1 == null && r2 == null && r3 == null )
{
return false;
}
return true;
}
}
// ---------------------------------------------------------------------------
// 機能13 :全半角文字判定
// 引数 :strValue チェックする文字列
// 戻値 :true:全半角文字、false:全角文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckAreaTextHalf (strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
// Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff
// Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3
if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能13 :全角漢字カナ判定
// 引数 :strValue チェックする文字列
// 戻値 :true:全角漢字名、false:全角漢字名まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckInputValue7(Value)
{
for (var i = 0; i < Value.length; ++i) {
var c = Value.charCodeAt(i);
// 半角カタカナは不許可
if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能 :全角カナ判定と全角英数(2006/09/14)
// 引数 :strValue チェックする文字列
// 戻値 :true:全角カナ文字、false:全角カナ文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckZenkakatakana(strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
if((c >= 12449 && c <= 12531)
|| c == 12540
|| c == 12541
|| c == 12542
|| (c >= 65296 && c <= 65305)
|| (c >= 65313 && c <= 65338)
|| (c >= 65345 && c <= 65370)){
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能 :全角カナ判定と全角英数と"‐"(2006/09/14)
// 引数 :strValue チェックする文字列
// 戻値 :true:全角カナ文字、false:全角カナ文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckZenkakatakana1(strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
if((c >= 12449 && c <= 12531)
|| c == 12540
|| c == 12541
|| c == 12542
|| c == 8208
|| (c >= 65296 && c <= 65305)
|| (c >= 65313 && c <= 65338)
|| (c >= 65345 && c <= 65370)){
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能13 :全角カナ判定
// 引数 :strValue チェックする文字列
// 戻値 :true:全角カナ文字、false:全角カナ文字含まれている
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckZenkakukana (strValue)
{
var c;
for (var i = 0; i < strValue.length; i++) {
c = strValue.charCodeAt(i);
if ( (12449 <= c && c <= 12542)) {
} else {
return false;
}
}
return true;
}
// ---------------------------------------------------------------------------
// 機能13 : 入力されたテキストアリアの桁数チェックを行う。
// 引数 : (1) 入力された値バリュー
// (2) テキストアリア桁数
// (3) 必須桁数 0:必須しない 1:必須
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckAreaText (strValue, strLen, mustFlag)
{
try
{
// 入力された値が存在しないの場合は、Trueを戻す
if (strValue == null || strValue == undefined)
{
return true;
}
if (mustFlag == 0 || mustFlag == null || mustFlag == undefined)
{
if (strValue.length > strLen)
{
return false;
}
else
{
return true;
}
}
else
{
if (strValue.length == strLen)
{
return true;
}
else
{
return false;
}
}
}
catch(ex)
{
}
}
// ---------------------------------------------------------------------------
// 機能11 : 入力必須チェック
// 引数 : (1) 入力された値バリュー
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckInput (strValue)
{
try
{
if(Trim(strValue) == "")
{
return false;
}
return true;
}
catch(ex)
{
}
}
// ---------------------------------------------------------------------------
// 機能 : 日付妥当性チェック
// 引数 : (1) 入力された日付値バリュー
// (2) フォーマット形式 (例: “yyyymmdd”、“yyyymm”、・・・)
// 1 MMDD
// 2 YYYY/MM/DD
// 3 YY/MM/DD
// 4 YYYYMMDD
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :2006/04/05 By Huang Yejun
// ⇒SQL ServerにてDATETIME型では、1753年1月1日から9999年12月31日までの日付しか扱えません
// ---------------------------------------------------------------------------
function cc_CheckDate(strValue, strFormat)
{
var r;
var Year;
var Month;
var Day;
var Flag;
// 形式をチェック
if(strFormat == "1")
{
r = strValue.match(/^(0[1-9]|10|11|12)([1-2][0-9]|0[0-9]|30|31)$/);
//年、月、日を取得します
if(r != null)
{
Year = undefined;
Month = strValue.substr(0,2);
Day = strValue.substr(2,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if(strFormat == "2")
{
r = strValue.match(/^([1-2]/d{3})(//)(0[1-9]|10|11|12)(//)([1-2][0-9]|0[0-9]|30|31)$/);
//年、月、日を取得します
if(r != null)
{
Year = strValue.substr(0,4);
Month = strValue.substr(5,2);
Day = strValue.substr(8,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if(strFormat == "3")
{
r = strValue.match(/^(/d{2})(//)(0[1-9]|10|11|12)(//)([1-2][0-9]|0[0-9]|30|31)$/);
//年、月、日を取得します
if(r != null)
{
Year = strValue.substr(0,2);
Month = strValue.substr(3,2);
Day = strValue.substr(6,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if (strFormat == "4")
{
if (cc_CheckAreaText(strValue, 8, 1)
&& cc_CheckInputValue(strValue, 2))
{
Year = strValue.substr(0,4);
Month = strValue.substr(4,2);
Day = strValue.substr(6,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if (strFormat == "5")
{
if (cc_CheckAreaText(strValue, 6, 1)
&& cc_CheckInputValue(strValue, 2))
{
Year = strValue.substr(0,4);
Month = strValue.substr(4,2);
Flag = true;
}
else
{
Flag = false;
}
}
else if(strFormat == "6")
{
r = strValue.match(/^([1-2]/d{3})(0[1-9]|10|11|12)$/);
//年、月を取得します
if(r != null)
{
Year = strValue.substr(0,4);
Month = strValue.substr(4,2);
Flag = true;
}
else
{
Flag = false;
}
}
if(Flag == true)
{
if (Year == 0000 || Month == 00 || Day == 00)
{
return false;
}
if (Year == undefined)
{
Year = "0000";
}
if (Month > 12 || Day > 31)
{
return false;
}
// When Month =( 4,6,9,11) Day <= 30
if ((Month == 04 || Month == 06 || Month == 09 || Month == 11) && (Day > 30))
{
Flag = false;
}
else if(Month == 02)
{
if(LeapYear(Year))
{
if(Day > 29 || Day < 1)
{
Flag = false;
}
else
{
Flag = true;
}
}
else
{
if(Day > 28 || Day < 1)
{
Flag = false;
}
else
{
Flag = true;
}
}
}
else
{
Flag = true;
}
}
if(strFormat == "2" )
{
if(strValue < '1753/01/01')
return false;
}
else if(strFormat == "4")
{
if(strValue < '17530101')
return false;
}
else if(strFormat == "5")
{
if(strValue < '175301')
return false;
}
return Flag;
}
//閏年をチェック:ture=Is LeapYear;false=Not LeapYear
function LeapYear(intYear)
{
if(intYear%100 == 0)
{
if(intYear%400 == 0)
{
return true;
}
}
else
{
if(intYear%4 == 0)
{
return true;
}
}
return false;
}
// ---------------------------------------------------------------------------
// 機能 : 時刻妥当性チェック
// 引数 : (1) 入力された時刻値バリュー
// (2) フォーマット形式(例:“hhmmss”、“hhmm”、・・・)
// 1. hh:mm:ss
// 2. hh:mm
// 3. hh
// 4. mm
// 5. hhmm
// 戻値 : (1) True (2) False
// 新規 :
// 修正 :
// ---------------------------------------------------------------------------
function cc_CheckTime (strValue, strFormat)
{
var r;
if(strFormat == "1")
{
r = strValue.match(/^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])))$/);
}
else if(strFormat == "2")
{
r = strValue.match(/^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/);
}
else if(strFormat == "3")
{
r = strValue.match(/^([0-9]|[01][0-9]|2[0-3])$/);
}
else if(strFormat == "4")
{
r = strValue.match(/^([0-9]|[0-5][0-9])$/);
}
else if(strFormat == "5")
{
var sHour = strValue.substring(0,2);
var sMin = strValue.substring(2,4);
if (strValue.length != 4)
return false;
if (cc_CheckTime(sHour,"3"))
if (cc_CheckTime(sMin,"4"))
return true;
return false;
}
if(r == null)
{
return false;
}
else
{
return true;
}
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力された日付FROM値バリュー
// (2) 入力された日付TO値バリュー
// (3) 入力された日付値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckDateRange (strDateFrom, strDateTo, strValue)
{
if(cc_CheckDate(strDateFrom) && cc_CheckDate(strDateTo) && cc_CheckDate(strValue))
{
if(strValue < strDateFrom || strValue > strDateTo )
return false;
else
return true;
}
else
return false;
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲月チェック
// 引数: (1) 入力された月付値バリュー
// (2) 入力された日付値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMonth (strYMonth, strValue)
{
if(strYMonth.substr(0,4) != strValue.substr(0,4))
return false;
else
{
if(strYMonth.substr(4,2) != strValue.substr(4,2))
return false;
else
return true;
}
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力された日付FROM値バリュー
// (2) 入力された日付TO値バリュー
// 3) 入力された時刻FROM値バリュー
// (4) 入力された時刻TO値バリュー
// (5) 入力された日付値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckDateTimeRange (strValue,strFromDate,strToDate,strFromTime,strToTime)
{
var Flag;
var Date;
var Time;
var rValue = strValue.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);
var rFromDate = strFromDate.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);
var rToDate = strToDate.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);
var rFromTime = strFromTime.match(/^(/d{1,2}):(/d{1,2}):(/d{1,2})$/);
var rToTime = strToTime.match(/^(/d{1,2}):(/d{1,2}):(/d{1,2})$/);
if(rValue != null && rFromDate != null && rToDate != null && rFromTime != null && rToTime != null)
{
Date = strValue.substr(0,10)
Time = strValue.substr(11,8)
Flag = true;
}
else
{
Flag = false;
}
if(Flag == true)
{
if(Date > strToDate || Date < strFromDate || Time > strToTime || Time < strFromTime)
{
Flag = false;
}
else
Flag = true;
}
return Flag;
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力された日付FROM値バリュー YYYYMMDD
// (2) 入力された日付TO値バリュー YYYYMMDD
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckDatePeriod(strFromDate, strToDate)
{
if (strToDate < strFromDate)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: 入力値妥当性チェック
// 引数: (1) 入力された値バリュー
// (2) パタン strPattern
// 例:
// “1” 半角数値のみ (0012の場合は12に変更)
// “2” 半角数字のみ
// “3” 半角英数字のみ
// “4” 半角カタカナのみ
// “5” 全角のみ
// "6" 半角数字のみ(1~3)
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckInputValue (strValue,strPattern)
{
var bCheckSuccess;
if(strPattern == "1")
{
//半角数値のみ
bCheckSuccess = cc_CheckInputValue1(strValue);
}
else if(strPattern == "2")
{
//半角数字のみ
bCheckSuccess = cc_CheckInputValue2(strValue);
}
else if(strPattern == "3")
{
//半角英数字のみ
bCheckSuccess = cc_CheckInputValue3(strValue);
}
else if(strPattern == "4")
{
//半角カタカナのみ
bCheckSuccess = cc_CheckInputValue4(strValue);
}
else if(strPattern == "5")
{
//全角カナ文字
bCheckSuccess = cc_CheckInputValue5(strValue);
}
else if(strPattern == "6")
{
//半角数字のみ(1~3)
bCheckSuccess = cc_CheckInputValue6(strValue);
}
else if(strPattern == "7")
{
//全角漢字名
bCheckSuccess = cc_CheckInputValue7(strValue);
}
return bCheckSuccess;
}
//半角数値のみ (0012の場合は12に変更)
function cc_CheckInputValue1(strValue)
{
return !isNaN(strValue);
}
//半角数字のみ
function cc_CheckInputValue2(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[0-9]$/);
if(r == null)
Flag = false;
else
Flag = true;
}
return Flag;
}
//半角数字のみ(1~3)
function cc_CheckInputValue6(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[1-3]$/);
if(r == null)
Flag = false;
else
Flag = true;
}
return Flag;
}
//半角英数字のみ
function cc_CheckInputValue3(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[0-9a-zA-Z]$/);
if(r == null)
Flag = false;
else
Flag = true;
}
return Flag;
}
//半角カタカナのみ
function cc_CheckInputValue4(strValue)
{
i = 0;
var Flag = true;
while(Flag && i<strValue.length)
{
dore=escape(strValue.charAt(i));
if((navigator.appName.indexOf("Netscape")!=-1)
&& dore.length==3 && dore.indexOf("%")!=-1)
{
Flag = true;
}
else if((navigator.appName.indexOf("Internet Explorer")!=-1)
&& dore.length==6 && dore.indexOf("%uFF")!=-1
&& '0x'+dore.substring(2,dore.length) > 0xFF66
&& '0x'+dore.substring(2,dore.length) < 0xFFA0)
{
Flag = true;
}
else
{
Flag = false;
}
i++;
}
return Flag;
}
/* 全角ふりがなチェック */
function CheckFurigana(str)
{
var r1;
r1 = str.match( /[^ぁ-んァ-ン /s]+/ ) ;
if( r1 = null)
{
return false;
}
return true;//ア-ン
}
function isHankaku(str)
{
var esc_str = escape(str);
var ms = navigator.appVersion.indexOf("MSIE");
var nesc = navigator.appName.lastIndexOf("Netscape"); //一致した位置(0)を返す
if(nesc >= 0){
if ((esc_str.indexOf('%A') == 0) ||
(esc_str.indexOf('%B') == 0) ||
(esc_str.indexOf('%C') == 0) ||
(esc_str.indexOf('%D') == 0) ){
return true;
}
}else if(ms > 0){
if((esc_str.indexOf('%uFF6') == 0) ||
(esc_str.indexOf('%uFF7') == 0) ||
(esc_str.indexOf('%uFF8') == 0) ||
(esc_str.indexOf('%uFF9') == 0) ) {
return true;
}
}
return(false);
}
function CheckHalfKatakana(str)
{
var r1;
r1= str.match( /[^ア-ン /s]+/ );
if(r1= null)
{
return false;
}
var len = str.length;
var i;
var pos;
for ( i = 0 ; i < len ; i++ )
{
pos = str.substring(i, i+1);
if( isHankaku(pos) == false)
{
return false;
}
}
return true;
}
//全角のみ
function cc_CheckInputValue5(strValue)
{
for(i=0; i<strValue.length; i++)
if(!isZenkaku(strValue.charCodeAt(i)))
return false;
return true;
}
//全角カナチェック
function isZenkaku(code){
return ((code>=0x3041 && code<=0x308f) ||
(code>=0x30a1 && code<=0x30ef) ||
(code>=0xff01 && code<=0xff5d) ||
(code==0x2019) ||
(code==0x201d) ||
(code==0x3000) ||
(code==0x3001) ||
(code==0x3002) ||
(code==0x300c) ||
(code==0x300d) ||
(code==0x3092) ||
(code==0x3093) ||
(code==0x309b) ||
(code==0x309c) ||
(code==0x30f2) ||
(code==0x30f3) ||
(code==0x30f4) ||
(code==0x30fb) ||
(code==0x30fc) ||
(code==0xffe3) ||
(code==0xffe5) )
}
// ---------------------------------------------------------------------------
// 機能: 金額値妥当性チェック
// 引数: (1)入力された金額値バリュー
// 戻値: (1) True (2) False
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_CheckMoney(strValue)
{
var temp;
temp = strValue;
if (temp.indexOf(',') != -1)
{
if (cc_ChangeMoneyFormat1(temp) != strValue)
{
return false;
}
}
var r = temp.match(//d$/);
if(r == null)
{
return false;
}
return true;
}
// ---------------------------------------------------------------------------
// 機能: 金額値を金額形式(”999,999,999”)に変更する
// 引数: (1)入力された金額値バリュー
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_ChangeMoneyFormat1(strValue)
{
var result;
var strTemp ;
if (strValue.indexOf(',') != -1)
{
strTemp = replaceAll(strValue,',','');
}
else
{
strTemp = strValue;
}
var arrNum = strTemp.split('.');
if (arrNum.length == 1)
{
result = InertComma(arrNum[0]) ;
}
else if (arrNum.length == 2)
{
result = InertComma(arrNum[0]) + '.' + arrNum[1];
}
else
{
result = strValue;
}
return result;
}
// ---------------------------------------------------------------------------
// 機能: 金額形式を数字に変更する。
// 引数: (1)入力された金額値バリュー
// 戻値: (1) なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_ChangeMoneyFormat2(strValue)
{
return replaceAll(strValue,',','');
}
function InertComma(strValue)
{
return (strValue.replace(/([/d]+?)(?=(?:/d{3})+$)/g, function (t) { return t+","; }));
}
function replaceAll (streng, soeg, erstat)
{
var st = streng;
if (soeg.length == 0)
{
return st;
}
var idx = st.indexOf(soeg);
while (idx >= 0)
{
st = st.substring(0,idx) + erstat + st.substr(idx+soeg.length);
idx = st.indexOf(soeg);
}
return st;
}
/*
共通JavaScript関数
以下の内容を含む:
1.Trim(str)--配列内のスペースを削除
4.IsEmpty(obj)--インポートボックスがNULLかどうかチェックする
5.IsInt(objStr,sign,zero)--正整数かどうかチェックする
6.IsFloat(objStr,sign,zero)--??是否?浮点数
7.IsEnLetter(objStr,size)--半角英字かどうかチェックする
*/
/*********************************************
1. LTrim(str):配列の左のスペースを削除
2. RTrim(str):配列の右のスペースを削除
3. Trim(str):配列内のスペースを削除
*********************************************/
function LTrim(str)
{
return str.replace(/^[ /t/n/r]+/g, "");
}
function RTrim(str)
{
return str.replace(/[ /t/n/r]+$/g, "");
}
function Trim(str)
{
return RTrim(LTrim(str));
}
/*
================================================================================
NULLかどうかチェックする関数
================================================================================
*/
function IsEmpty(obj)
{
obj=document.getElementsByName(obj).item(0);
if(Trim(obj.value)=="")
{
if(obj.disabled==false && obj.readOnly==false)
{
obj.focus();
}
}
}
/*
正整数をチェックする
*/
function IsInt(objStr,sign,zero)
{
var reg;
var bolzero;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((sign==null)||(Trim(sign)==""))
{
sign="+-";
}
if((zero==null)||(Trim(zero)==""))
{
bolzero=false;
}
else
{
zero=zero.toString();
if(zero=="0")
{
bolzero=true;
}
else
{
}
}
switch(sign)
{
case "+-":
//整数
reg=/(^-?|^/+?)/d+$/;
break;
case "+":
if(!bolzero)
{
//正整数
reg=/^/+?[0-9]*[1-9][0-9]*$/;
}
else
{
//正整数+0
reg=/^/+?[0-9]*[0-9][0-9]*$/;
}
break;
case "-":
if(!bolzero)
{
//マイナス整数
reg=/^-[0-9]*[1-9][0-9]*$/;
}
else
{
//マイナス整数+0
reg=/^-[0-9]*[0-9][0-9]*$/;
}
break;
default:
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
/*
float nummberかどうかをチェックする関数
*/
function IsFloat(objStr,sign,zero)
{
var reg;
var bolzero;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((sign==null)||(Trim(sign)==""))
{
sign="+-";
}
if((zero==null)||(Trim(zero)==""))
{
bolzero=false;
}
else
{
zero=zero.toString();
if(zero=="0")
{
bolzero=true;
}
else
{
}
}
switch(sign)
{
case "+-":
//float nummber
reg=/^((-?|/+?)/d+)(/./d+)?$/;
break;
case "+":
if(!bolzero)
{
//正float nummber
reg=/^/+?(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//正float nummber + 0
reg=/^/+?/d+(/./d+)?$/;
}
break;
case "-":
if(!bolzero)
{
//マイナスfloat nummber
reg=/^-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//マイナスfloat nummber + 0
reg=/^((-/d+(/./d+)?)|(0+(/.0+)?))$/;
}
break;
default:
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
function cc_CheckRadioBox(objName)
{
var obj = document.all(objName);
if (obj == false)
{
return -1;
}
if (!obj.length)
{
return obj.checked;
}
else
{
for(i = 0; i< obj.length; i++)
{
if(obj[i].checked)
return true;
}
}
return false;
}
function GetRadioBoxSelIndex(objName)
{
var obj = document.all(objName);
if (obj == null)
{
return -1;
}
if (!obj.length)
{
if (obj.checked)
return 0;
else
return -1;
}
else
{
for(i = 0; i< obj.length; i++)
{
if(obj[i].checked)
return i;
}
}
return -1;
}
function SetRadioBoxSelIndex(objName,nIdx)
{
var obj = document.all(objName);
var i;
if (obj == null)
{
return false;
}
if (!obj.length)
{
if (nIdx == 0){obj.checked = true;}
else{obj.checked = false;}
}
else
{
for(i = 0; i< obj.length; i++)
{
if (nIdx == i){obj[i].checked = true;break; }
else{obj[i].checked = false;}
}
}
}
function GetListObjectValue(objName,nIdx)
{
var obj = document.all(objName);
var value ;
var i;
if (obj == null)
{
return false;
}
if (!obj.length)
{
if (nIdx == 0)
{
value = obj.value;
}
}
else
{
for(i = 0; i< obj.length; i++)
{
if (nIdx == i)
{
value = obj[i].value;
break;
}
}
}
return value;
}
// ---------------------------------------------------------------------------
// 機能: 日付範囲チェック
// 引数: (1) 入力欄フォーカスがはずれたとき
// (2) 変換パターン:1(金額),2(電話番号),3(郵便版番号)
// 戻値: なし
// 新規:
// 修正:
// ---------------------------------------------------------------------------
function cc_onfocus(objName,Type)
{
var obj = document.all(objName);
if (obj == null)
return
var strValue = obj.value;
if (Type == 1)
{
obj.value = replaceAll(strValue,',','');
} else if (Type == 2)
{
obj.value = replaceAll(strValue,'-','');
} else if (Type == 3)
{
obj.value = replaceAll(strValue,'-','');
}else if(Type == 4)
{
obj.value = replaceAll(strValue,':','');
}
}
// ---------------------------------------------------------------------------
// 機能: 入力欄フォーカスフを失った時に処理
// 引数: (1) 対象オブジェクト
// (2) 変換パターン:1(金額),2(電話番号),3(郵便版番号)
// 戻値: なし
// 新規:
// 修正: 2007/07/24 HuangYejun@UFIDA 金額All0入力対応 前頭0削除処理追加
// ---------------------------------------------------------------------------
function cc_onBlur(objName,Type)
{
var obj = document.all(objName);
if (obj == null)
return
var strValue = obj.value;
if (Trim(strValue) == "")
return;
if (Type == 1)
{
strValue = replaceAll(strValue,',','');
if (strValue.match(/[^0-9]/g) != null)
{
return ;
}
var nNum = ParseNum(strValue) ;
var sNum = String(nNum);
obj.value = cc_ChangeMoneyFormat1(sNum);
} else if (Type == 2)
{
strValue = replaceAll(strValue,'-','');
if (strValue.length < 9 || strValue.length > 11)
return;
obj.value = insertStringAtE(strValue,4,"-");
} else if (Type == 3)
{
strValue = replaceAll(strValue,'-','');
if (strValue.length !=7)
return;
obj.value = insertStringAt(strValue,3,"-");
}else if(Type == 4)
{
strValue = replaceAll(strValue,':','');
if (strValue.length !=4)
return;
obj.value = insertStringAt(strValue,2,":");
}
}
// ---------------------------------------------------------------------------
// 機能: 電話番号入力欄フォーカスフを失った時に処理
// 引数: (1) 対象オブジェクト名
// (2) 変換パターン:0(普通),1(携帯電話)
// 戻値: なし
// 新規:
// 修正:
// ' 9桁用の編集をかけて表示する。9桁の表示フォーマット:99999-9999
// ' 10桁用の編集をかけて表示する。10桁の表示フォーマット:999999-9999
// ' 11桁(携帯ではない)の表示フォーマット:9999999-9999
// ' 11桁(携帯)の表示フォーマット:999-9999-9999
// ---------------------------------------------------------------------------
function cc_onTelBlur(objName,Type)
{
var obj = document.all(objName);
if (obj == null)
return;
var strValue = obj.value;
if (Trim(strValue) == "")
return;
if (strValue.indexOf('-') != -1)
return;
if (Type == 0)
{
//if (cc_CheckTel(strValue,"1") == true)
//電話番号のハイフン表示において5桁以上入力の場合のみハイフン表示を行う
if(cc_CheckInputValue2(strValue) == true)
{
if (strValue.length < 5 )
return;
obj.value = insertStringAtE(strValue,4,"-");
}
} else if (Type == 1)
{
//if (cc_CheckTel(strValue,"2") == true)
if(cc_CheckInputValue2(strValue) == true)
{
if (strValue.length != 11 )
return;
strValue = insertStringAt(strValue,3,"-");
strValue = insertStringAt(strValue,8,"-");
obj.value = strValue;
}
}
}
// ---------------------------------------------------------------------------
// 機能: 金額大小比較
// 引数: (1) argNum1 : 金額1
// (2) argNum2 : 金額2
// 戻値: True : 金額1 >= 金額2 / False : 金額1 < 金額2
// 新規:
// 備考: 金額1は数値ではない場合、無限大と見られる
// 金額2は数値ではない場合、無限小と見られる
// ---------------------------------------------------------------------------
function cc_MoneyCompare(argNum1,argNum2)
{
var sNum1,sNum2;
var nNum1,nNum2;
sNum1 = replaceAll(argNum1,',','');
sNum2 = replaceAll(argNum2,',','');
if(sNum1.match(/[^0-9]/g))
{
return true;
}
if(sNum2.match(/[^0-9]/g))
{
return false;
}
nNum1 = ParseNum(sNum1);
nNum2 = ParseNum(sNum2);
if (nNum1 >= nNum2)
{
return true;
} else
{
return false;
}
}
// ---------------------------------------------------------------------------
// 機能: 文字列を数値(金額)へ変換
// 引数: (1) argNum : 対象文字列
// 戻値: 数値
// 新規:
// 備考: JavaScriptのparseInt関数は前頭「0」文字列を数値へ変換すると
// 「0」の結果なってしまうこと避ける
// ---------------------------------------------------------------------------
function ParseNum(argNum)
{
var sNum ;
var nNum ;
if (argNum.length == 0)
{
return 0;
}
sNum = replaceAll(argNum,',','');
nNum = Number(sNum);
if(isNaN(nNum))
{
return 0;
}
return nNum;
}
// ---------------------------------------------------------------------------
// 機能: 入力データが半角英数字混在判定する
//
//パラメータ: //
//strValue - form.element.value
//
//戻り値:
//
//strValueが半角英数字混在の場合:true
//上記以外の場合:False
//
//その他:
//
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
//Code:97~Code:122は「半角英字(小文字)」
// ---------------------------------------------------------------------------
function cc_CheckHaveAlphabetAndNumber(strValue)
{
var code;
var cntNum = 0;
var cntAlp = 0;
for (var i = 0; i < strValue.length; i++)
{
count = 0;
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
cntNum++;
}
/* 半角英字 */
if ((code >= 65 && code <= 90) || (code >= 97 && code <= 122))
{
cntAlp++;
}
}
if (cntNum > 0 && cntAlp >0 && (cntNum + cntAlp == strValue.length) )
{
return true;
} else
{
return false;
}
}
// ---------------------------------------------------------------------------
// 機能: 入力データが大英数字であること。
//
//パラメータ: //
//strValue - form.element.value
//
//戻り値:
//
//strValueが大英数字の場合:true
//上記以外の場合:False
//
//その他:
//
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
// ---------------------------------------------------------------------------
function cc_CheckBigAlphabetAndNumber(strValue)
{
var code;
var cntNum = 0;
var cntAlp = 0;
for (var i = 0; i < strValue.length; i++)
{
count = 0;
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
cntNum++;
}
/* 半角英字 */
if ((code >= 65 && code <= 90))
{
cntAlp++;
}
}
if ((cntNum > 0 || cntAlp >0) && (cntNum + cntAlp == strValue.length))
{
return true;
} else
{
return false;
}
}
// ---------------------------------------------------------------------------
// 機能:指定位置に子文字列を挿入する
//
//パラメータ:
// mainStr:対象文字列
// intPosition:位置
// insertStr:子文字列
//
//戻り値:
// 結果文字列
// ---------------------------------------------------------------------------
function insertStringAt(mainStr,intPosition,insertStr)
{
var len = mainStr.length
var front = mainStr.substring(0,intPosition)
var end = mainStr.substring(intPosition,len)
if(front != null && end != null) {
return front + insertStr + end
}
return null
}
// ---------------------------------------------------------------------------
// 機能:指定位置(後ろから数える)に子文字列を挿入する
//
//パラメータ:
// mainStr:対象文字列
// intPosition:位置
// insertStr:子文字列
//
//戻り値:
// 結果文字列
// ---------------------------------------------------------------------------
function insertStringAtE(mainStr,intPosition,insertStr)
{
var len = mainStr.length
var front = mainStr.substring(0,len - intPosition)
var end = mainStr.substring(len - intPosition,len)
if(front != null && end != null) {
return front + insertStr + end
}
return null
}
//半角数字のみチェック
function cc_CheckInputNum(strValue)
{
var Flag = true;
var i = 0;
var temp;
var r;
while(Flag && i < strValue.length)
{
temp = strValue.substr(i,1);
i++;
r = temp.match(/[0-9]$/);
if(r == null)
{
Flag = false;
break;
}
else
{
Flag = true;
}
}
return Flag;
}
// ---------------------------------------------------------------------------
// 機能:為替規定文字判定する
//
//パラメータ: //
//strValue - form.element.value
//戻り値:
//
//strValueが為替規定文字のみの場合:true
//上記以外の場合:False
//
//その他:
//為替規定文字:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
// アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン
// ゙゚ /,.()-/「」
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
//Code:65382、65393~Code:65439は「半角カタカナ」
//Code:32[スペース],40[(],41[)],44[,],45[-],46[.],47[/],92[/],65378[「],65379[」]記号
// ---------------------------------------------------------------------------
function cc_CheckExRegularChar(strValue)
{
var code;
var bRlst = true;
//ブランクのみ入力不可
if (strValue.length > 0 && Trim(strValue) == "")
{
DebugMsg("全スペース入力されています!");
return false;
}
for (var i = 0; i < strValue.length; i++)
{
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
}
/* 半角大英字 */
else if (code >= 65 && code <= 90)
{
}
/* 半角カタカナ */
else if (code == 65382 || (code >= 65393 && code <= 65439))
{
}
/* 記号、スペース */
else if (code == 32 || code == 40 || code == 41 || code == 44 ||code == 45
|| code == 46 || code == 47 || code == 92 || code == 65378 || code == 65379)
{
}
/* 上記以外入力不可とする */
else
{
DebugMsg("為替規定文字「" + strValue.substring(i,i+1) + "」が含まれています!");
bRlst = false;
break;
}
}
return bRlst;
}
function replaceExRegularChar(strValue)
{
var tempStr = strValue;
tempStr = replaceAll(tempStr,"ァ", "ア");
tempStr = replaceAll(tempStr,"ィ", "イ");
tempStr = replaceAll(tempStr,"ゥ", "ウ");
tempStr = replaceAll(tempStr,"ェ", "エ");
tempStr = replaceAll(tempStr,"ォ", "オ");
tempStr = replaceAll(tempStr,"ャ", "ヤ");
tempStr = replaceAll(tempStr,"ュ", "ユ");
tempStr = replaceAll(tempStr,"ョ", "ヨ");
tempStr = replaceAll(tempStr,"ッ", "ツ");
tempStr = replaceAll(tempStr,"ー", "-");
return tempStr;
}
// ---------------------------------------------------------------------------
// 機能:半角カナ(半角英数可)
//
//パラメータ: //
//strValue - form.element.value
//戻り値:
//
//strValueが為替規定文字のみの場合:true
//上記以外の場合:False
//
//その他:
//為替規定文字:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
// アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン
//
//Code:48~Code:57は「半角数字」
//Code:65~Code:90は「半角英字(大文字)」
//Code:97~Code:122は「半角英字(小文字)」
//Code:65382、65393~Code:65439は「半角カタカナ」
//Code:32[スペース],40[(],41[)],44[,],45[-],46[.],47[/],92[/],65378[「],65379[」]記号
// ---------------------------------------------------------------------------
function cc_CheckCust(strValue)
{
var code;
var bRlst = true;
//ブランクのみ入力不可
if (strValue.length > 0 && Trim(strValue) == "")
{
DebugMsg("全スペース入力されています!");
return false;
}
for (var i = 0; i < strValue.length; i++)
{
code = strValue.charCodeAt(i);
/* 半角数字 */
if (code >= 48 && code <= 57)
{
}
/* 半角大英字 */
else if (code >= 65 && code <= 90)
{
}
/* 半角小英字 */
else if (code >= 97 && code <= 122)
{
}
/* 半角カタカナ */
else if (code == 65382 || code == 65392 || (code >= 65393 && code <= 65439))
{
}
/* スペース */
else if (code == 32 || code == 40 || code == 41 || code == 44 ||code == 45
|| code == 46 || code == 47 || code == 92 || code == 65378 || code == 65379)
{
}
/* 上記以外入力不可とする */
else
{
DebugMsg("為替規定文字「" + strValue.substring(i,i+1) + "」が含まれています!");
bRlst = false;
break;
}
}
return bRlst;
}
function cc_CheckHalfChar(strValue)
{
var code;
var bRlst = true;
for (var i = 0; i < strValue.length; i++)
{
code = strValue.charCodeAt(i);
/* 半角のみ */
if (code < 256 || (code >= 0xff61 && code <= 0xff9f))
{
} else
{
bRlst = false;
break;
}
}
return bRlst;
}
/**
* 全角であるかをチェックします。
*
* @param チェックする値
* @return ture : 全角 / flase : 全角以外
*/
function cc_CheckZenkakuChar(value) {
var code;
var bRlst = true;
for (var i = 0; i < value.length; ++i) {
code = value.charCodeAt(i);
// 半角カタカナは不許可
if (code < 256 || (code >= 0xff61 && code <= 0xff9f)) {
bRlst = false;
break;
}
}
return bRlst;
}
- js画面数据检测方法集
- Js URl检测方法(javascript)
- js检测浏览器版本方法
- 客户端JS检测方法集合
- JS数据类型检测方法汇总
- cocos2d-js基础 本地数据存储 碰撞检测几种方法
- js通用数据检测方法(只完成js端大体功能,随会追加php端代码)
- js通用数据检测类(1)
- js通用数据检测类(2)
- ExtJs画面数据验证
- js方法数据验证
- 车道检测数据集
- 车道检测数据集
- 行人检测数据集
- 目标检测数据集
- js下检测属性的方法
- js检测浏览器插件的方法总结
- js数据类型检测方法(总结)
- IT上班族的几个问题
- BIRT:基于 Eclipse 的报表
- 曾经遇到的面试题:C语言中对于全局变量来说加不加static关键字有什么区别
- 利用tablerow和tablecell类动态添加textbox控件
- Open Solaris Express Edition和Express Developper Edition的区别
- js画面数据检测方法集
- 文件包含 static inline,extern inline
- 调用COM的正确方法
- iBATIS中关于JavaBean的小问题
- 文件映射问题
- 销售和研发分别适合什么样的人来做
- 在实习中应该留心学习什么
- final的用法
- 面试时如何做自我介绍