-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #684 from Charliekenney23/more-validators
More validators
- Loading branch information
Showing
10 changed files
with
498 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
'use strict'; | ||
|
||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
|
||
exports.default = function (str) { | ||
(0, _assertString2.default)(str); | ||
if (!str.includes(',')) return false; | ||
var pair = str.split(','); | ||
return lat.test(pair[0]) && long.test(pair[1]); | ||
}; | ||
|
||
var _assertString = require('./util/assertString'); | ||
|
||
var _assertString2 = _interopRequireDefault(_assertString); | ||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|
||
var lat = /^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/; | ||
var long = /^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/; | ||
|
||
module.exports = exports['default']; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
'use strict'; | ||
|
||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
|
||
exports.default = function (str, locale) { | ||
(0, _assertString2.default)(str); | ||
if (locale in patterns) { | ||
return patterns[locale].test(str); | ||
} else if (locale === 'any') { | ||
for (var key in patterns) { | ||
if (patterns.hasOwnProperty(key)) { | ||
var pattern = patterns[key]; | ||
if (pattern.test(str)) { | ||
return true; | ||
} | ||
} | ||
} | ||
return false; | ||
} | ||
throw new Error('Invalid locale \'' + locale + '\''); | ||
}; | ||
|
||
var _assertString = require('./util/assertString'); | ||
|
||
var _assertString2 = _interopRequireDefault(_assertString); | ||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|
||
// common patterns | ||
var threeDigit = /^\d{3}$/; | ||
var fourDigit = /^\d{4}$/; | ||
var fiveDigit = /^\d{5}$/; | ||
var sixDigit = /^\d{6}$/; | ||
|
||
var patterns = { | ||
AT: fourDigit, | ||
AU: sixDigit, | ||
BE: fourDigit, | ||
CA: /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i, | ||
CH: fourDigit, | ||
CZ: /^\d{3}\s?\d{2}$/, | ||
DE: fiveDigit, | ||
DK: fourDigit, | ||
DZ: fiveDigit, | ||
ES: fiveDigit, | ||
FI: fiveDigit, | ||
FR: /^\d{2}\s?\d{3}$/, | ||
GB: /^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i, | ||
GR: /^\d{3}\s?\d{2}$/, | ||
IL: fiveDigit, | ||
IN: sixDigit, | ||
IS: threeDigit, | ||
IT: fiveDigit, | ||
JP: /^\d{3}\-\d{4}$/, | ||
KE: fiveDigit, | ||
LI: /^(948[5-9]|949[0-7])$/, | ||
MX: fiveDigit, | ||
NL: /^\d{4}\s?[a-z]{2}$/i, | ||
NO: fourDigit, | ||
PL: /^\d{2}\-\d{3}$/, | ||
PT: /^\d{4}(\-\d{3})?$/, | ||
RO: sixDigit, | ||
RU: sixDigit, | ||
SA: fiveDigit, | ||
SE: /^\d{3}\s?\d{2}$/, | ||
TW: /^\d{3}(\d{2})?$/, | ||
US: /^\d{5}(-\d{4})?$/, | ||
ZA: fourDigit, | ||
ZM: fiveDigit | ||
}; | ||
|
||
module.exports = exports['default']; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import assertString from './util/assertString'; | ||
|
||
const lat = /^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/; | ||
const long = /^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/; | ||
|
||
export default function (str) { | ||
assertString(str); | ||
if (!str.includes(',')) return false; | ||
const pair = str.split(','); | ||
return lat.test(pair[0]) && long.test(pair[1]); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
import assertString from './util/assertString'; | ||
|
||
// common patterns | ||
const threeDigit = /^\d{3}$/; | ||
const fourDigit = /^\d{4}$/; | ||
const fiveDigit = /^\d{5}$/; | ||
const sixDigit = /^\d{6}$/; | ||
|
||
const patterns = { | ||
AT: fourDigit, | ||
AU: sixDigit, | ||
BE: fourDigit, | ||
CA: /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i, | ||
CH: fourDigit, | ||
CZ: /^\d{3}\s?\d{2}$/, | ||
DE: fiveDigit, | ||
DK: fourDigit, | ||
DZ: fiveDigit, | ||
ES: fiveDigit, | ||
FI: fiveDigit, | ||
FR: /^\d{2}\s?\d{3}$/, | ||
GB: /^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i, | ||
GR: /^\d{3}\s?\d{2}$/, | ||
IL: fiveDigit, | ||
IN: sixDigit, | ||
IS: threeDigit, | ||
IT: fiveDigit, | ||
JP: /^\d{3}\-\d{4}$/, | ||
KE: fiveDigit, | ||
LI: /^(948[5-9]|949[0-7])$/, | ||
MX: fiveDigit, | ||
NL: /^\d{4}\s?[a-z]{2}$/i, | ||
NO: fourDigit, | ||
PL: /^\d{2}\-\d{3}$/, | ||
PT: /^\d{4}(\-\d{3})?$/, | ||
RO: sixDigit, | ||
RU: sixDigit, | ||
SA: fiveDigit, | ||
SE: /^\d{3}\s?\d{2}$/, | ||
TW: /^\d{3}(\d{2})?$/, | ||
US: /^\d{5}(-\d{4})?$/, | ||
ZA: fourDigit, | ||
ZM: fiveDigit, | ||
}; | ||
|
||
export default function (str, locale) { | ||
assertString(str); | ||
if (locale in patterns) { | ||
return patterns[locale].test(str); | ||
} else if (locale === 'any') { | ||
for (const key in patterns) { | ||
if (patterns.hasOwnProperty(key)) { | ||
const pattern = patterns[key]; | ||
if (pattern.test(str)) { | ||
return true; | ||
} | ||
} | ||
} | ||
return false; | ||
} | ||
throw new Error(`Invalid locale '${locale}'`); | ||
} |
Oops, something went wrong.