JavaScriptで日付が正しいかチェックする
以下の例ではyyyymmdd形式で入力された日付をyyyy/mm/ddに変換している
function checkDate(date) { let targetDate = (date).replace(/[^0-9]/g, ''); if (targetDate.length == 8) { let tempDate = targetDate.match(/([0-9]{4})([0-9]{2})([0-9]{2})/); let y = tempDate[1]; let m = tempDate[2]; let d = tempDate[3]; dt = new Date(y, m-1, d); if (dt.getFullYear() == y && dt.getMonth() == (m-1) && dt.getDate() == d) { let formatedDate = targetDate.replace(/([0-9]{4})([0-9]{2})([0-9]{2})/g, "$1/$2/$3"); console.log(formatedDate); } else { console.log('正しい日付を入力してください'); } } } // 動作結果 checkDate('20180201'); // 2018/02/01 checkDate('20180228'); // 2018/02/28 checkDate('20180229'); // 正しい日付を入力してください
PHPのarray()を[]に置換する
PHPのarray()を[]に置換する
convert.phpを利用する
使い方
convert.phpを任意の場所に設置し実行する
<?php // ディレクトリ単位で実行 find 'ディレクトリ名' -name "*" -exec php "convert.php" -w "{}" \; // ファイル単位で実行 php convert.php -w 'ファイル名'; ?>
MySQLでn分前を取得する
わすれがちなのでメモ
参考
更新されて10分以内のデータを取得する
SELECT * FROM 'テーブル名' WHERE 'カラム名' >= CURRENT_TIMESTAMP + INTERVAL - 10 MINUTE
その他
n分以外にも、n年等任意の条件に変更することができる
unit | 説明 |
---|---|
YEAR | 年 |
MONTH | 月 |
DAY | 日 |
HOUR | 時 |
MINUTE | 分 |
SECOND | 秒 |
MICROSECOND | マイクロ秒 |
WEEK | 週 |
MySQLで特定のカラムが存在しないテーブル名を特定する
「deleteDate」が無いテーブルを特定したかったが、苦戦したのでメモ
USE information_schema; SELECT temp1.table_name FROM ( SELECT DISTINCT table_name FROM columns WHERE table_schema = 'DB名' AND column_name != 'deleteDate' ) AS temp1 LEFT OUTER JOIN ( SELECT DISTINCT table_name FROM columns WHERE table_schema = 'DB名' AND column_name = 'deleteDate' ) AS temp2 ON temp1.table_name = temp2.table_name WHERE temp2.table_name IS NULL;
おまけ
テーブル一覧を取得する
SHOW TABLES FROM 'DB名'; -- または SELECT table_name, table_type, engine FROM information_schema.tables WHERE table_schema = 'DB名';
テーブルのカラム一覧を取得する
SHOW COLUMNS FROM 'テーブル名';
テーブル一覧とカラム一覧を取得する
USE information_schema; SELECT table_name, column_name FROM columns WHERE table_schema = 'DB名';
BashでGitコマンドのタブ補完を有効にする
BashでGitコマンドのタブ補完を有効にする
git-completion.bashを導入する
git-completion.bash はGitコマンドをタブ補完してくれるスクリプト
導入方法
- git-completion.bash をダウンロードして適当な場所に配置する(今回はホームディレクトリ)
- ~/.bashrc に source $HOME/git-completion.bash の一行を加える
- source ~/.bashrc で再読み込みする
追記
もしかしたら、ダウンロードしなくてもインストールされているかもしれない
sudo find / -name git-completion.bash
jQueryでチェックボックスの全選択を実装する
- 「全て選択」にチェックすると全ての項目にチェックが付与される
- ひとつでもチェックを外すと、「全て選択」もチェックが外れる
- また、全ての項目にチェックを付与すると「全て選択」がチェックされる
HTML
<label for="allChecked"> <input type="checkbox" name="allChecked" id="allChecked" value="1"> <span>全て選択</span> </label> <div id="cities"> <label><input type="checkbox" name="city[]" value="1" /> 東京</label> <label><input type="checkbox" name="city[]" value="2" /> 大阪</label> <label><input type="checkbox" name="city[]" value="3" /> 名古屋</label> <label><input type="checkbox" name="city[]" value="4" /> 福岡</label> </div>
JavaScript
$(function() { // 「全て選択」のチェックボックスの制御 $('#allChecked').click(function() { $("input[name='city[]']").prop('checked', this.checked); }); // センターが選択された場合、「全て選択」を制御する $("input[name='city[]']").on('click', function() { controlCities(); }); function controlCities() { if ($('#cities :checked').length == $('#cities :input').length) { $('#allChecked').prop('checked', true); } else { $('#allChecked').prop('checked', false); } } controlCities(); });