javascript code tips

イシュー

  • JSのコードTips

Date型から YYYY/MM/DDの文字列を作成する

  var dt = new Date();
  var value = dt.getFullYear()+'/'+('0'+(dt.getMonth()+1)).slice(-2)+'/'+('0'+dt.getDate()).slice(-2);

日付チェック関数

  var isDate = function(inputDate) {
    var data = inputDate;
    if (data == '') {
      return true;
    }
    var rxDatePattern = RegExp('^(\\d{4})(\\/|-)(\\d{1,2})(\\/|-)(\\d{1,2})$');

    var dtArray = data.match(rxDatePattern);
    if (dtArray == null) {
      return false;
    }
    dtYear = dtArray[1];
    dtMonth = dtArray[3];
    dtDay = dtArray[5];
    if (dtMonth < 1 || dtMonth > 12) {
      return false;
    } else if (dtDay < 1 || dtDay > 31) {
      return false;
    } else if ((dtMonth == 4 || dtMonth == 6 || dtMonth == 9 || dtMonth == 11) && dtDay == 31) {
      return false;
    } else if (dtMonth == 2) {
      var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0));
      if (dtDay > 29 || (dtDay == 29 && !isleap)) {
        return false;
      }
    }
    return true;
  }

数字8桁だったらYYYY/MM/DD に変換

  var re = /^[0-9]{8}$/;
  var str = '201711123';
  var date = (re.test(str)) ? str.substr(0,4)+'/'+str.substr(4,2)+'/'+str.substr(6,2) : str;