
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
validate-date
Advanced tools
Give me a string and I'll tell you if it's a valid date.
This package exports a single synchronous function that takes date as a “string” and two optional parameters, the type of response as "responseType"(responseType="string" by default) and date format as "dateFormat" (dateFormat=null by default, see more details below) and returns a convenient response based on the user’s choice. It also validates leap years.
npm install validate-date --save--dev
The function accepts 3 parameters: date, responseType and dateFormat strings.
date => string representation of date
responseType => "string" or "boolean" responseType="string" by default. The function returns "true" for validated dates and "false" for incorrect ones.
| date | string | boolean |
|---|---|---|
| 02/02/2001 | Valid Date | true |
| 99/10/2020 | Invalid Date | false |
| 02022000 | Invalid Format | false |
dateFormat => format of the date supplied By default this function accepts dates in the formats "yyyy-mm-dd" and "mm/dd/yyyy", but other formats can be enforced by passing it as "dateFormat" parameter. The "dateFormat" parameter is case insensitive (e.g. YYYY/MM/DD is the same as yyyy/mm/dd). The only two separators accepted by now are "-" and "/". Only numbers are supposed on the date (i.e. use 06 for June, not Jun or June).
var validateDate = require("validate-date");
validateDate('02/02/2001'); // returns "Valid Date"
validateDate('99/10/2020'); // returns "Invalid Date"
validateDate('02/29/2001'); // returns "Invalid Date", as Leap year check is verified
validateDate('02022000'); // returns "Invalid Format"
validateDate(''); // throws an exception: "dateValue must be a string."
validateDate('99/10/2020', responseType="boolean"); // returns false
validateDate('02/29/2001', responseType="boolean"); //returns false. Leap year check verified
validateDate('02022000', responseType="boolean"); // returns false
validateDate('', responseType="boolean"); // throws an exception: "dateValue must be a string."
validateDate('02/02/2001', responseType="boolean"); // returns true
// The "responseType" param is "string" by default.
validateDate('99/10/2020'); // returns "Invalid Date"
validateDate('99/10/2020', responseType="string"); // returns "Invalid Date"
validateDate('99/10/2020', responseType="boolean"); // returns false
// The "dateFormat" param is "mm/dd/yyyy" by default.
validateDate('02/27/2001', responseType="boolean"); // returns true
validateDate('02/27/2001', responseType="boolean", dateFormat="mm/dd/yyyy"); // returns true
validateDate('27/02/2001', responseType="boolean", dateFormat="dd/mm/yyyy"); // returns true
validateDate('02/27/2001', responseType="string", dateFormat="mm/dd/yyyy"); // returns "Valid Date"
validateDate('27/02/2001', responseType="string", dateFormat="dd/mm/yyyy"); // returns "Valid Date"
[MIT][license]
FAQs
date validation
The npm package validate-date receives a total of 2,650 weekly downloads. As such, validate-date popularity was classified as popular.
We found that validate-date demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.