トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Javascript メモ

一部の情報は非常に古いもの(20年以上前〜)ですので、利用する際はご注意ください(Java 1.4 とか .NET 1.0 とか、Windows 2000 とか)
お問い合せは wiki@shise.net まで。Gmail に転送されるので、スパムは全部カットされます。


 

日付の妥当性チェック

妥当なら ture を返します。
ネットからのコピペで作成。

function checkDate(datestr) {
    // trim
    datestr = datestr.replace(/^\s+|\s+$/g, '');

    // check
    data = datestr.match("^([0-9]{4})[/-]([0-9]{1,2})[/-]([0-9]{1,2})$");

    // マッチしなかったら、null が返ってくるみたい。
    if(data == null){
        return false;
    }

    // Date クラス用に計算
    var vYear = RegExp.$1 - 0;
    var vMonth = RegExp.$2 - 1; // Javascriptは、0-11で表現
    var vDay = RegExp.$3 - 0;

    //alert(datestr+" / "+RegExp.$1+"年"+RegExp.$2+"月"+RegExp.$3+"日");

    if(vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31){
        var vDt = new Date(vYear, vMonth, vDay);

        if(isNaN(vDt)){
            return false;
        }else if(vDt.getFullYear() == vYear && vDt.getMonth() == vMonth && vDt.getDate() == vDay){
            return true;
        }else{
            return false;
        }
    }else{
        return false;
    }
}

読み込み完了時に、勝手に処理を始める

addEvent(window, "load", initMyFunction);

function addEvent(elm, type, func){
	if (elm.addEventListener){
		elm.addEventListener(type, func, undefined);
	} else if (elm.attachEvent){
		elm.attachEvent("on"+type, func);
	}
}

function initMyFunction(){
	// 何か処理...
}

これを書いておくと、body の onload とかに書かなくても initMyFunction が実行される。

<script type="text/javascript" src="/js/myscript.js"></script>

って感じで、script タグで読み込んでもちゃんと動く。


雑多な関数

// trim
function trim(str){
	str = str + '';
	str = str.replace(/^\s+|\s+$/g, "");
	return str;
}

// ascii check
function isAscii(str, empty){
	str = trim(str);
	if(empty && str.length == 0){
		return true;
	}

	if (str.match('^[!-~]+$')) {
		return true;
	}else{
		return false;
	}
}

// number check
function isNumber(str, empty){
	str = trim(str);
	if(empty && str.length == 0){
		return true;
	}

	if (str.match('^[0-9]+$')) {
		return true;
	}else{
		return false;
	}
}