You can use Date.parse() to test the string:
function isDate(str){ return !isNaN( Date.parse( str ) ); }
Testing:
isDate( 'Mon Jul 13 2015 00:00:00 GMT+0530 (India Standard Time)' ); // true
isDate( '' ); // false
isDate( 1 ); // false
isDate( '2015-07-01' ); // true
isDate( '1 July 2015' ); // true
isDate( '1st July 2015' ); // false
// ISO 8601 Dates:
isDate( '2015-07-01T12:30:50' ) // true
isDate( '2015-07-01T12:30:50Z' ); // true
isDate( '2015-07-01T12:30:50+01:00' ); // true
isDate( '2015-07-01T12:30:50-01:00' ); // true
isDate( '2015-07-01 12:30:50' ) // false
isDate( '2015-07-01T12:30:50+1:00' ); // false
Date.parse()will be a correct way to parse that string./^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?:[0-2][0-9]|3[01]) \d{4} (?:[01][0-9]|2[0-3]):[012345][0-9]:[012345][0-9] GMT\+0530 \(India Standard Time\)$/Not true validation though, and you have said what you mean byvalidate.