日付文字列から年を取得する必要があります。日付文字列の形式は、次のいずれかの形式にする必要があります。任意の日付文字列形式で年を取得するには、コードをグローバル化する必要があります。
日付形式、"30/8/2013"、"08/30/2013"、"30-8-2013"、"2013-08-30"、"30.8.2013"、"30-08-13"、"13 -08-30」など
日付文字列から年を取得する必要があります。日付文字列の形式は、次のいずれかの形式にする必要があります。任意の日付文字列形式で年を取得するには、コードをグローバル化する必要があります。
日付形式、"30/8/2013"、"08/30/2013"、"30-8-2013"、"2013-08-30"、"30.8.2013"、"30-08-13"、"13 -08-30」など
このライブラリを見てください。http://momentjs.com/
これはおそらく利用可能な最良のオプションです。
このようにしてみてください
var myDate="30.08.2013";
if(myDate.indexOf(".")!= -1){
var spliter=".";
}else if(myDate.indexOf("/")!= -1){
var spliter="/";
}
else if(myDate.indexOf("-")!= -1){
var spliter="-";
}
var year="";
var myDateAray= myDate.split(spliter);
for( i=0;i<myDateAray.length;i++){
if(myDateAray[i].length > 2){
year=myDateAray[i];
break;
}
}
alert(year);
01-02-03 は 2001-02-03 または 01-02-2003 である可能性があります。他の制限がない場合は確認できません。
"30/8/2013","08/30/2013",30-8-2013","2013-08-30","30.8.2013" の場合、次の正規表現を使用できます。
var pat = /(\d{4})[\-\/\.]\d+[\-\/\.]\d+|\d+[\-\/\.]\d+[\-\/\.](\d{4})/;
r = "30/8/2013".match(pat); console.log(r);
r = "08/30/2013".match(pat); console.log(r);
r = "30-8-2013".match(pat); console.log(r);
r = "2013-08-30".match(pat); console.log(r);
r = "30.8.2013".match(pat); console.log(r);
r = "30-08-13".match(pat); console.log(r);
r = "13-08-30".match(pat); console.log(r);
出力:
["30/8/2013", undefined, "2013", index: 0, input: "30/8/2013"] test.js:2
["08/30/2013", undefined, "2013", index: 0, input: "08/30/2013"] test.js:3
["30-8-2013", undefined, "2013", index: 0, input: "30-8-2013"] test.js:4
["2013-08-30", "2013", undefined, index: 0, input: "2013-08-30"] test.js:5
["30.8.2013", undefined, "2013", index: 0, input: "30.8.2013"] test.js:6
null test.js:7
null test.js:8