diff --git a/src/lib/isFQDN.js b/src/lib/isFQDN.js index eb6928fda..39b0b63dc 100644 --- a/src/lib/isFQDN.js +++ b/src/lib/isFQDN.js @@ -43,8 +43,8 @@ export default function isFQDN(str, options) { } } - // reject numeric TLDs - if (!options.allow_numeric_tld && /^\d+$/.test(tld)) { + // reject numeric TLDs (only when a TLD is actually required) + if (options.require_tld && !options.allow_numeric_tld && /^\d+$/.test(tld)) { return false; } diff --git a/test/validators/isFQDN.test.js b/test/validators/isFQDN.test.js index 134bab005..819081a6f 100644 --- a/test/validators/isFQDN.test.js +++ b/test/validators/isFQDN.test.js @@ -22,5 +22,18 @@ describe('isFQDN', () => { invalid: [ ], }); + test({ + validator: 'isFQDN', + args: [{ require_tld: false }], + valid: [ + 'google.com', + 'localhost', + '192', + '10', + ], + invalid: [ + '', + ], + }); }); });