من RegExp زیر را خودم نوشتم که تو تست تا حالا خوب جواب داده!
var SHAMSI_REGEXP = /^1[34][0-9][0-9]\/((0[1-6]\/((3[0-1])|([1-2][0-9])|(0[1-9])))|((1[0-2]|(0[7-9]))\/(30|([1-2][0-9])|(0[1-9]))))$/gi;
SHAMSI_REGEXP.test('1393/05/11');
برای سال 1300 تا 1499 ، ماه از 01 تا 12 روز از 01 تا 30 برای 6 ماه اول و 01 تا 31 برای 6 ماه دوم