-
#1865
isMACAddress
: add EUI-validation @WikiRik @tux-tn -
#1888
isBase32
: add option for Crockford's base32 alternative @BigOsvaap -
#1916
isDataURI
: fix mediaType format @temoffey -
#1920
isEmail
: addhost_whitelist
option @poor-coder -
#1939
isFQDN
: fixallow_numeric_tld
option @BigOsvaap -
#1962
isIP
: refactor @UnKnoWn-Consortium -
#1967
isLength
@ikkyu-3 -
#1992
isMagnetURI
@Rhilip @tux-tn -
#1995
isURL
: fix check for host @mortbauer -
#2008
isCreditCard
@brianwhaley -
#2075
isAfter
: allow usage of option object @WikiRik -
#2114
isRgbColor
@pano9000 -
#2122
isDataURI
: fix MIME types with underscores @pano9000 -
#2148
isStrongPassword
@sandmule -
#2157
isISBN
: allow usage of option object @WikiRik -
#2170
isEmail
: fixignore_max_length
for FQDN @sakhmedbayev -
#2020
isFloat
: fix comma(,) passing as float @frederike-ramin -
Documentation fixes:
-
Code Refactors:
-
isAlpha
,isAlphanumeric
: -
isBIC
:- #2046
XK
@import-brain
- #2046
-
isIdentityCard
:- #2142
hk-HK
@Dongkyuuuu
- #2142
-
isMobilePhone
:- #1813
my-MM
, @ferdousulhaque - #1868
de-DE
, @thomaschaaf - #1896
en-LS
, @DevilsAutumn - #1897
el-CY
, @ikerasiotis - #1909
es-NI
, @ajGingrich - #1910
az-AZ
, @shaanaliyev - #1922
ir-IR
, @ArashST79 - #1924
ky-KG
, @arsalanfiroozi - #1925
ar-YE
,ar-EH
,fa-AF
, @Mustafiz04 - #1932
ro-MD
, @mik7up - #1940
ar-YE
,en-BS
, @savannahvaith - #1952
ka-GE
, @avkvak - #1964 #1951
pt-BR
, @jhcaiafa @matheusnascgomes - #1983
es-HN
, @ademyan05 - #1985
nl-AW
, @adida948 - #1986
en-JM
, @ademyan05 - #1993
mn-MN
, @rksp25 - #1997
fr-BJ
, @rkuma552 @rksp25 - #2001
mg-MG
, @ShivangiRai1310 - #2002
en-PG
, @kai2128 - #2004
en-AG
, @jiaweilow - #2007
en-AI
, @elaine1129 - #2011
en-KN
, @Eelyneee - #2041
fr-CD
, @coolbeatz71 - #2084
en-SS
, @cheboi - #2109
dv-MV
, @pano9000 - #2129
en-HN
, @WikiRik - #2148
ar-KW
, @Yazan-KE @WikiRik - #2112
el-GR
, @pano9000 - #2116
en-BM
, @pano9000 - #2155
ms-MY
, @pano9000 - #2156
ro-RO
, @pano9000
- #1813
-
isLicensePlate
: -
isPassportNumber
: -
isPostalCode
: -
isTaxID
:- #1867
en-CA
, @boonya - #1989
'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'EL', 'HU', 'IE', 'LV', 'LT', 'LU', 'MT', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'AL', 'MK', 'AU', 'BY', 'CA', 'IS', 'IN', 'ID', 'IL', 'KZ', 'NZ', 'NG', 'NO', 'PH', 'RU', 'SM', 'SA', 'RS', 'CH', 'TR', 'UA', 'UZ', 'AR', 'BO', 'BR', 'CL', 'CO', 'CR', 'EC', 'SV', 'GT', 'HN', 'MX', 'NI', 'PA', 'PY', 'PE', 'DO', 'UY', 'VE'
@Dev1lDragon
- #1867
- #1706
isISO4217
, currency code validator @jpaya17
- #1647
isFQDN
: addallow_wildcard
option @fasenderos - #1654
isRFC3339
: Disallow prepended and appended strings to RFC 3339 date-time @jmacmahon - #1658 maintenance: increase code coverage @tux-tn
- #1669
IBAN
export list of country codes that implement IBAN @dror-heller @fedeci - #1676
isBoolean
: addloose
option @brybrophy - #1697 maintenance: fix npm installation error @rubiin
- #1708
isISO31661Alpha3
: perf @jpaya17 - #1711
isDate
: allow users to strictly validate dates with.
as delimiter @flymans - #1715
isCreditCard
: fix for Union Pay cards @shreyassai123 - #1718
isEmail
: replace all dots in GMail length validation @DasDingGehtNicht - #1721
isURL
: addallow_fragments
andallow_query_components
@cowboy-bebug - #1724
isISO31661Alpha2
: perf @jpaya17 - #1730
isMagnetURI
@tux-tn - #1738
rtrim
: remove regex to prevent ReDOS attack @tux-tn - #1747 maintenance: run scripts in parallel for build and clean @sachinraja
- #1748
isURL
: higher priority towhitelist
@deepanshu2506 - #1751
isURL
: allow url with colon and no port @MatteoPierro - #1777
isUUID
: fix fornull
version argument @theteladras - #1799
isFQDN
: check more special chars @MatteoPierro - #1833
isURL
: allow URL with an empty user @MiguelSavignano - #1835
unescape
: fixed bug where intermediate string contains escaped @Marcholio - #1836
contains
: can check that string contains seed multiple times @Marcholio - #1844 docs: add CDN instructions @luiscobits
- #1848
isUUID
: add support for validation ofv1
andv2
@theteladras - #1941
isEmail
: addhost_blacklist
option @fedeci
-
isAlpha
,isAlphanumeric
: -
isPassportNumber
: -
isPostalCode
:- #1788
LK
@nimanthadilz
- #1788
-
isIdentityCard
: -
isMobilePhone
:- #1679
de-DE
@AnnaMariaJansen - #1689
vi-VN
@luisrivas - #1695 #1682
zh-CN
@laulujan @yisibl - #1734
es-VE
@islasjuanp - #1746
nl-BE
@divikshrivastava - #1765
es-CU
@pasagedev - #1766
es-SV
, @hereje - #1767
ar-PS
, @brendan-c - #1769
en-BM
@HackProAIT - #1770
dz-BT
@lakshayr003 - #1771
en-BW
, @mgndolan - #1772
fr-CM
@beckettnormington - #1778
en-PK
@ammad20120 @tux-tn - #1780
tk-TM
, @Husan-Eshonqulov - #1784
en-GY
, @mfkrause - #1785
si-LK
@Madhavi96 - #1797
fr-PF
, @hereje - #1820
en-KI
, @c-tanner - #1826
hu-HU
@danielTiringer - #1834
fr-BF
,en-NA
@lakshayr003 - #1846
tg-TJ
@mgnss
- #1679
-
isLicensePlate
: -
isVAT
:- #1825
NL
@zeno4ever
- #1825
-
New features:
- #1495
isLicensePlate
@firlus
- #1495
-
Fixes and Enhancements:
- #1651 fix ReDOS vulnerabilities in
isHSL
andisEmail
@tux-tn - #1644
isURL
: Allow URLs to have only a username in the userinfo subcomponent @jbuchmann-coosto - #1633
isISIN
: optimization @bmacnaughton - #1632
isIP
: improved pattern for IPv4 and IPv6 @ognjenjevremovic - #1625 fix
[A-z]
regex range on some validators @bmacnaughton - #1620 fix docs @prahaladbelavadi
- #1616
isMacAddress
: improve regexes and options @fedeci - #1603 fix ReDOS vulnerabilities in
isSlug
andrtrim
@fedeci - #1594
isIPRange
: add support for IPv6 @neilime - #1577
isEAN
: add support for EAN-14 @varsubham @tux-tn - #1566
isStrongPassword
: add@
as a valid symbol @stingalleman - #1548
isBtcAddress
: add base58 @ezkemboi - #1546
isFQDN
: numeric domain names @tux-tn
- #1651 fix ReDOS vulnerabilities in
-
New and Improved locales:
-
New features:
-
Fixes and Enhancements:
- #1486
isISO8601
: addstrictSeparator
@brostone51 - #1474
isFQDN
: make more strict @CristhianMotoche - #1469
isFQDN
:allow_underscore
option @gibson042 - #1449
isEmail
: character blacklisting @rubiin - #1436
isURL
: addedrequire_port
option @yshanli - #1435
isEmail
: respectignore_max_length
option @evantahler - #1402
isDate
: add strictMode and prevent mixed delimiters @tux-tn - #1286
isAlpha
: supportignore
option @mum-never-proud
- #1486
-
New and Improved locales:
isAlpha
,isAlphanumeric
:isMobilePhone
:isPostalCode
:isPassportNumber
:
— this release is dedicated to @dbnandaa 🧒
-
New features:
- None
-
Fixes and chores:
- #1425 fix validation for userinfo part for
isURL
@heanzyzabala - #1419 fix
isBase32
andisBase64
to validate empty strings properly @AberDerBart - #1408 tests for
isTaxId
@dspinellis - #1397 added
validate_length
option forisURL
@tomgrossman - #1383 #1428 doc typos @0xflotus @timgates42
- #1376 add missing tests and switch to Coverall @tux-tn
- #1373 improve code coverage @ezkemboi
- #1357 add Node v6 on build pipeline @profnandaa
- #1425 fix validation for userinfo part for
-
New and Improved locales:
- Hotfix for a regex incompatibility in some browsers (#1355
- Added an
isIMEI()
validator (#1346) - Added an
isDate()
validator (#1270) - Added an
isTaxID()
validator (#1336) - Added DMS support to
isLatLong()
(#1340) - Added support for URL-safe base64 validation (#1277)
- Added support for primitives in
isJSON()
(#1328) - Added support for case-insensitive matching to
contains()
(#1334) - Support additional cards in
isCreditCard()
(#1177) - Support additional currencies in
isCurrency()
(#1306) - Fixed
isFQDN()
handling of certain special chars (#1091) - Fixed a bug in
isSlug()
(#1338) - New and improved locales (#1112, #1167, #1198, #1199, #1273, #1279, #1281, #1293, #1294, #1311, #1312, #1313, #1314, #1315, #1317, #1322, #1324, #1330, #1337)
- Added
isEthereumAddress()
validator to validate Ethereum addresses (#1117) - Added
isBtcAddress()
validator to validate Bitcoin addresses (#1163) - Added
isIBAN()
validator to validate International Bank Account Numbers (#1243) - Added
isEAN()
validator to validate International Article Numbers (#1244) - Added
isSemVer()
validator to validate Semantic Version Numbers (#1246) - Added
isPassportNumber()
validator (#1250) - Added
isRgbColor()
validator (#1141) - Added
isHSL()
validator (#1159) - Added
isLocale()
validator (#1072) - Improved the
isIP()
validator (#1211) - Improved the
isMACAddress()
validator (#1267) - New and improved locales (#1238, #1265)
- Support CSS Colors Level 4 spec (#1233)
- Improve the
toFloat()
sanitizer (#1227) - New and improved locales (#1200, #1207, #1213, #1217, #1234)
- ES module for webpack tree shaking (#1015)
- Updated
isIP()
to accept scoped IPv6 addresses (#1160) - New and improved locales (#1162, #1183, #1187, #1191)
- Added
isOctal()
validator (#1153) - Added
isSlug()
validator (#1096) - Added
isBIC()
validator for bank identification codes (#1071) - Allow uppercase chars in
isHash()
(#1062) - Allow additional prefixes in
isHexadecimal()
(#1147) - Allow additional separators in
isMACAddress()
(#1065) - Better defaults for
isLength()
(#1070) - Bug fixes (#1074)
- New and improved locales (#1059, #1060, #1069, #1073, #1082, #1092, #1121, #1125, #1132, #1152, #1165, #1166, #1174)
- 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)