- Code coverage improvements (#1024)
- New and improved locales (#1035, #1040, #1041, #1048, #1049, #1052, #1054, #1055, #1056, #1057)
- Added a
isBase32()
validator (#1023) - Updated
isEmail()
to validate display names according to RFC2822 (#1004) - Updated
isEmail()
to check total email length (#1007) - The internal
toString()
util is no longer exported (0277eb) - New and improved locales (#999, #1010, #1017, #1022, #1031, #1032)
isISO8601()
strict mode now works in the browser (#932)- New and improved locales (#931, #933, #947, #950)
- Added an option to
isURL()
to reject email-like URLs (#901) - Added a
strict
option toisISO8601()
(#910) - Relaxed
isJWT()
signature requirements (#906) - New and improved locales (#899, #904, #913, #916, #925, #928)
- Added
isIdentityCard()
(#846) - Better error when validators are passed an invalid type (#895)
- Locales are now exported (#890, #892)
- New locale (#896)
- Added
isMagnetURI()
to validate magnet URIs (#884) - Added
isJWT()
to validate JSON web tokens (#885)
- Updated
isMobilePhone()
to match any locale's pattern by default (#874) - Added an option to ignore whitespace in
isEmpty()
(#880) - New and improved locales (#878, #879)
- Disabled domain-specific email validation (#873)
- Added support for IP hostnames in
isEmail()
(#845) - Added a
no_symbols
option toisNumeric()
(#848) - Added a
no_colons
option toisMACAddress()
(#849) - Updated
isURL()
to reject protocol relative URLs unless a flag is set (#860) - New and improved locales (#801, #856, #859, #861, #862, #863, #864, #870, #872)
- Added an
isIPRange()
validator (#842) - Accept an array of locales in
isMobilePhone()
(#742) - New locale (#843)
- Export the list of supported locales in
isPostalCode()
(#830)
- Added an
isISO31661Alpha3()
validator (#809)
- Allow floating points in
isNumeric()
(#810) - Disallow GMail addresses with multiple consecutive dots, or leading/trailing dots (#820)
- Added an
isRFC3339()
validator (#816) - Reject domain parts longer than 63 octets in
isFQDN()
,isURL()
andisEmail()
(bb3e542) - Added a new Amex prefix to
isCreditCard()
(#805) - Fixed
isFloat()
min/max/gt/lt filters when a locale with a comma decimal is used (2b70821) - Normalize Yandex emails (#807)
- New locales (#803)
- Fixed a bug with the
isFloat
validator (#752)
normalizeEmail()
no longer validates the email address (#725)- Added locale-aware validation to
isFloat()
andisDecimal()
(#721) - Added an
isPort()
validator (#733) - New locales (#731)
- Added an
isHash()
validator (#711) - Control decimal places in
isCurrency()
(#713) - New and improved locales (#700, #701, #714, #715, #718)
- Fix
require('validator/lib/isIS8601')
calls (#688) - Added an
isLatLong()
andisPostalCode()
validator (#684) - Allow comma in email display names (#692)
- Add missing string to
unescape()
(#690) - Fix
isMobilePhone()
with Node <= 6.x (#681) - New locales (#695)
isURL()
now requires therequire_tld: false
option to validatelocalhost
(#675)isURL()
now rejects URLs that are protocol only (#642)- Fixed a bug where
isMobilePhone()
would silently return false if the locale was invalid or unsupported (#657)
- Added an option to validate any phone locale (#663)
- Fixed a bug in credit card validation (#672)
- Disallow whitespace, including unicode whitespace, in TLDs (#677)
- New locales (#673, #676)
- Added an
isISRC()
validator for ISRC (#660) - Fixed a bug in credit card validation (#670)
- Reduced the maximum allowed address in
isEmail()
based on RFC3696 errata (#655) - New locales (#647, #667, #667, #671)
- Remove
isDate()
- Added an option to require an email display name (#607)
- Added support for
lt
andgt
toisInt()
(#588) - New locales (#601)
- Added support for greater or less than in
isFloat()
(#544) - Added support for ISSN validation via
isISSN()
(#593) - Fixed a bug in
normalizeEmail()
(#594) - New locales (#585)
- Renamed
isNull()
toisEmpty()
(#574) - Backslash is now escaped in
escape()
(#516) - Improved
normalizeEmail()
(#583) - Allow leading zeroes by default in
isInt()
(#532)
- Added support for IPv6 in
isURL()
(#564) - Added support for urls without a host (e.g.
file:///foo.txt
) inisURL()
(#563) - Added support for regular expressions in the
isURL()
host whitelist and blacklist (#562) - Added support for MasterCard 2-Series BIN (#576)
- New locales (#575, #552)
- Added an
isMD5()
validator (#557) - Fixed an exceptional case in
isDate()
(#566) - New locales (#559, #568, #571, #573)
- Fixed a regex denial of service in
trim()
andrtrim()
(#556) - Added an Algerian locale to
isMobilePhone()
(#540) - Fixed the Hungarian locale in
isAlpha()
andisAlphanumeric()
(#541) - Added a Polish locale to
isMobilePhone()
(#545)
- Accept Union Pay credit cards in
isCreditCard()
(#539) - Added Danish locale to
isMobilePhone()
(#538) - Added Hungarian locales to
isAlpha()
,isAlphanumeric()
andisMobilePhone()
(#537)
- Added an
allow_leading_zeroes
option toisInt()
(#532) - Adjust Chinese mobile phone validation (#523)
- Added a Canadian locale to
isMobilePhone()
(#524)
- Added a
isDataURI()
validator (#521) - Added Czech locales (#522)
- Fixed a bug with
isURL()
when protocol was missing and "://" appeared in the query (#518)
- Added a
unescape()
HTML function (#509) - Added a Malaysian locale to
isMobilePhone()
(#507) - Added Polish locales to
isAlpha()
andisAlphanumeric()
(#506) - Added Turkish locales to
isAlpha()
,isAlphanumeric()
andisMobilePhone()
(#512) - Allow >1 underscore in hostnames when using
allow_underscores
(#510)
- Migrate to ES6 (#496)
- Break the library up so that individual functions can be imported (#496)
- Remove auto-coercion of input to a string (#496)
- Remove the
extend()
function (#496) - Added Arabic locales to
isAlpha()
andisAlphanumeric()
(#496) - Fix validation of very large base64 strings (#503)
- Added a Russian locale to
isAlpha()
andisAlphanumeric()
(#499) - Remove the restriction on adjacent hyphens in hostnames (#500)
- Added Spanish, French, Portuguese and Dutch support for
isAlpha()
andisAlphanumeric()
(#492) - Added a Brazilian locale to
isMobilePhone()
(#489) - Reject IPv4 addresses with invalid zero padding (#490)
- Fix the client-side version when used with RequireJS (#494)
- Print a deprecation warning if validator input is not a string (1f67e1e). Note that this will be an error in v5.
- Added a German locale to
isMobilePhone()
,isAlpha()
andisAlphanumeric()
(#477) - Added a Finnish locale to
isMobilePhone()
(#455)
- Fix coercion of objects:
Object.toString()
is[object Object]
not""
(a57f3c8)
- Added a Spanish locale to
isMobilePhone()
(#481) - Fix string coercion of objects created with
Object.create(null)
(#484)
- Fix a timezone issue with short-form ISO 8601 dates, e.g.
validator.isDate('2011-12-21')
(#480)
- Make
isLength()
/isByteLength()
accept{min, max}
as options object. (#474)
- Add validation for Indian mobile phone numbers (#471)
- Tweak Greek and Chinese mobile phone validation (#467, #468)
- Fixed a bug in
isDate()
when validating ISO 8601 dates without a timezone (#472)
- Allow triple hyphens in IDNA hostnames (#466)
- Added
isMACAddress()
validator (#458) - Added
isWhitelisted()
validator (#462) - Added a New Zealand locale to
isMobilePhone()
(#452) - Added options to control GMail address normalization (#460)
- Fix
isDate()
handling of RFC2822 timezones (#447)
- Fix
isDate()
handling of ISO8601 timezones (#444) - Fix the incorrect
isFloat('.') === true
(#443) - Added a Norwegian locale to
isMobilePhone()
(#439)
- Added a Taiwan locale to
isMobilePhone()
(#432) - Fixed a bug in
isBefore()
where it would returnnull
(#436)
- Fixed a denial of service vulnerability in the
isEmail()
regex (#152)
- Added leap year validation to
isDate()
(#418)
- Fixed
isDecimal()
with an empty string (#419)