MM/YYYY
私が持っていることを検証するために、javascript 1で正規表現する必要がある2つの場所があります。
var regEx = new RegExp(/^(0?[1-9]|1[0-2])\/(\d{4})$/);
もう一つは、検証することですYYYY
年が1900年と現在の年の間であることも検証するために両方が必要です
MM/YYYY
私が持っていることを検証するために、javascript 1で正規表現する必要がある2つの場所があります。
var regEx = new RegExp(/^(0?[1-9]|1[0-2])\/(\d{4})$/);
もう一つは、検証することですYYYY
年が1900年と現在の年の間であることも検証するために両方が必要です
mm の正規表現を作成すると、次のようになります。
/0([1-9])|1([1-2])/
そしてyyyyの場合は次のようになります
/(19\d{2})|(200\d)|(201[0-3])/
mm/yyyy のようにチェックする単一の正規表現を作成できます
/0([1-9])|1([1-2])\/(19\d{2})|(200\d)|(201[0-3])/
次に、ループを使用して、確認する年と月を検証します
これは次のミレニアムでも機能します。
var y = (new Date().getYear()-100).toString(); // "13"
var strReg = '^((0?[1-9]|1[0-2])\\/)?(19\\d{2}|2' + (y.length-2?'':'0');
for(var i=0;i<y.length;i++) {
strReg+='[0-'+y[i]+']';
}
strReg+=')$'; // "^((0?[1-9]|1[0-2])\/)?(19\d{2}|20[0-1][0-3])$"
console.log(new RegExp(strReg).test('2013')); // true
console.log(new RegExp(strReg).test('2016')); // false
console.log(new RegExp(strReg).test('01/2013')); // true
console.log(new RegExp(strReg).test('13/2013')); // false
そして、今世紀と前世紀の有効な日付を使用したい場合 (1900 年代から現在まで)、正規表現の 19 を次のコードに置き換えることができます...'...?(' + (y.length-2?parseInt(y[0])+19:'19') + '\\d{2}|...'