Skip to content

Commit b2e5a9b

Browse files
committed
feat: adds fixes and tests for #693
This commit adds minor fixes on the PR #693 completing alpha, alphanumeric and mobile-phone features for Greece.
1 parent 7df6c5d commit b2e5a9b

File tree

7 files changed

+56
-12
lines changed

7 files changed

+56
-12
lines changed

lib/alpha.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
55
});
66
var alpha = exports.alpha = {
77
'en-US': /^[A-Z]+$/i,
8-
'el-GR': /^[Α-Ω]+$/i,
98
'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
109
'da-DK': /^[A-ZÆØÅ]+$/i,
1110
'de-DE': /^[A-ZÄÖÜß]+$/i,
11+
'el-GR': /^[Α-ω]+$/i,
1212
'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i,
1313
'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
1414
'it-IT': /^[A-ZÀÉÈÌÎÓÒÙ]+$/i,
@@ -29,10 +29,10 @@ var alpha = exports.alpha = {
2929

3030
var alphanumeric = exports.alphanumeric = {
3131
'en-US': /^[0-9A-Z]+$/i,
32-
'el-GR': /^[Α-Ω]+$/i,
3332
'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
3433
'da-DK': /^[0-9A-ZÆØÅ]+$/i,
3534
'de-DE': /^[0-9A-ZÄÖÜß]+$/i,
35+
'el-GR': /^[0-9Α-ω]+$/i,
3636
'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,
3737
'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
3838
'it-IT': /^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,
@@ -77,7 +77,7 @@ for (var _locale, _i = 0; _i < arabicLocales.length; _i++) {
7777

7878
// Source: https://en.wikipedia.org/wiki/Decimal_mark
7979
var dotDecimal = exports.dotDecimal = [];
80-
var commaDecimal = exports.commaDecimal = ['cs-CZ', 'da-DK', 'de-DE', 'es-ES', 'fr-FR', 'it-IT', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-Pl', 'pt-PT', 'ru-RU', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA'];
80+
var commaDecimal = exports.commaDecimal = ['cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'es-ES', 'fr-FR', 'it-IT', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-Pl', 'pt-PT', 'ru-RU', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA'];
8181

8282
for (var _i2 = 0; _i2 < dotDecimal.length; _i2++) {
8383
decimal[dotDecimal[_i2]] = decimal['en-US'];
@@ -89,4 +89,4 @@ for (var _i3 = 0; _i3 < commaDecimal.length; _i3++) {
8989

9090
alpha['pt-BR'] = alpha['pt-PT'];
9191
alphanumeric['pt-BR'] = alphanumeric['pt-PT'];
92-
decimal['pt-BR'] = decimal['pt-PT'];
92+
decimal['pt-BR'] = decimal['pt-PT'];

lib/isMobilePhone.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ var phones = {
2222
'cs-CZ': /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,
2323
'da-DK': /^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,
2424
'de-DE': /^(\+?49[ \.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,
25-
'el-GR': /^(\+?30)?(69\d{8})$/,
26-
'el-CY': /^(\+?357?)?(9\d{7})$/,
25+
'el-GR': /^(\+?30|0)?(69\d{8})$/,
2726
'en-AU': /^(\+?61|0)4\d{8}$/,
2827
'en-GB': /^(\+?44|0)7\d{9}$/,
2928
'en-HK': /^(\+?852\-?)?[456789]\d{3}\-?\d{4}$/,
@@ -94,4 +93,4 @@ function isMobilePhone(str, locale) {
9493
}
9594
throw new Error('Invalid locale \'' + locale + '\'');
9695
}
97-
module.exports = exports['default'];
96+
module.exports = exports['default'];

src/lib/alpha.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export const alpha = {
33
'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
44
'da-DK': /^[A-ZÆØÅ]+$/i,
55
'de-DE': /^[A-ZÄÖÜß]+$/i,
6+
'el-GR': /^[Α-ω]+$/i,
67
'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i,
78
'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
89
'it-IT': /^[A-ZÀÉÈÌÎÓÒÙ]+$/i,
@@ -26,6 +27,7 @@ export const alphanumeric = {
2627
'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
2728
'da-DK': /^[0-9A-ZÆØÅ]+$/i,
2829
'de-DE': /^[0-9A-ZÄÖÜß]+$/i,
30+
'el-GR': /^[0-9Α-ω]+$/i,
2931
'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,
3032
'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
3133
'it-IT': /^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,
@@ -75,7 +77,7 @@ for (let locale, i = 0; i < arabicLocales.length; i++) {
7577
// Source: https://en.wikipedia.org/wiki/Decimal_mark
7678
export const dotDecimal = [];
7779
export const commaDecimal = [
78-
'cs-CZ', 'da-DK', 'de-DE', 'es-ES', 'fr-FR', 'it-IT', 'hu-HU', 'nb-NO',
80+
'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'es-ES', 'fr-FR', 'it-IT', 'hu-HU', 'nb-NO',
7981
'nn-NO', 'nl-NL', 'pl-Pl', 'pt-PT', 'ru-RU', 'sr-RS@latin',
8082
'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA',
8183
];

src/lib/isMobilePhone.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const phones = {
1111
'cs-CZ': /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,
1212
'da-DK': /^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,
1313
'de-DE': /^(\+?49[ \.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,
14-
'el-GR': /^(\+?30)?(69\d{8})$/,
14+
'el-GR': /^(\+?30|0)?(69\d{8})$/,
1515
'en-AU': /^(\+?61|0)4\d{8}$/,
1616
'en-GB': /^(\+?44|0)7\d{9}$/,
1717
'en-HK': /^(\+?852\-?)?[456789]\d{3}\-?\d{4}$/,

test/validators.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,26 @@ describe('Validators', function () {
997997
});
998998
});
999999

1000+
it('should validate greek alpha strings', function () {
1001+
test({
1002+
validator: 'isAlpha',
1003+
args: ['el-GR'],
1004+
valid: [
1005+
'αβγδεζηθικλμνξοπρςστυφχψω',
1006+
'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ',
1007+
],
1008+
invalid: [
1009+
'0AİıÖöÇ窺ĞğÜüZ1',
1010+
' AİıÖöÇ窺ĞğÜüZ ',
1011+
'ÄBC',
1012+
'Heiß',
1013+
'ЫыЪъЭэ',
1014+
'120',
1015+
'jαckγ',
1016+
],
1017+
});
1018+
});
1019+
10001020
it('should validate alphanumeric strings', function () {
10011021
test({
10021022
validator: 'isAlphanumeric',
@@ -1310,6 +1330,27 @@ describe('Validators', function () {
13101330
});
13111331
});
13121332

1333+
it('should validate greek alphanumeric strings', function () {
1334+
test({
1335+
validator: 'isAlphanumeric',
1336+
args: ['el-GR'],
1337+
valid: [
1338+
'αβγδεζηθικλμνξοπρςστυφχψω',
1339+
'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ',
1340+
'20θ',
1341+
'1234568960',
1342+
],
1343+
invalid: [
1344+
'0AİıÖöÇ窺ĞğÜüZ1',
1345+
' AİıÖöÇ窺ĞğÜüZ ',
1346+
'ÄBC',
1347+
'Heiß',
1348+
'ЫыЪъЭэ',
1349+
'jαckγ',
1350+
],
1351+
});
1352+
});
1353+
13131354
it('should error on invalid locale', function () {
13141355
try {
13151356
validator.isAlphanumeric('abc123', 'in-INVALID');

validator.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,7 @@ var alpha = {
439439
'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
440440
'da-DK': /^[A-ZÆØÅ]+$/i,
441441
'de-DE': /^[A-ZÄÖÜß]+$/i,
442+
'el-GR': /^[Α-ω]+$/i,
442443
'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i,
443444
'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
444445
'it-IT': /^[A-ZÀÉÈÌÎÓÒÙ]+$/i,
@@ -462,6 +463,7 @@ var alphanumeric = {
462463
'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
463464
'da-DK': /^[0-9A-ZÆØÅ]+$/i,
464465
'de-DE': /^[0-9A-ZÄÖÜß]+$/i,
466+
'el-GR': /^[0-9Α-ω]+$/i,
465467
'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,
466468
'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
467469
'it-IT': /^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,
@@ -506,7 +508,7 @@ for (var _locale, _i = 0; _i < arabicLocales.length; _i++) {
506508

507509
// Source: https://en.wikipedia.org/wiki/Decimal_mark
508510
var dotDecimal = [];
509-
var commaDecimal = ['cs-CZ', 'da-DK', 'de-DE', 'es-ES', 'fr-FR', 'it-IT', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-Pl', 'pt-PT', 'ru-RU', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA'];
511+
var commaDecimal = ['cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'es-ES', 'fr-FR', 'it-IT', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-Pl', 'pt-PT', 'ru-RU', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA'];
510512

511513
for (var _i2 = 0; _i2 < dotDecimal.length; _i2++) {
512514
decimal[dotDecimal[_i2]] = decimal['en-US'];
@@ -969,7 +971,7 @@ var phones = {
969971
'cs-CZ': /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,
970972
'da-DK': /^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,
971973
'de-DE': /^(\+?49[ \.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,
972-
'el-GR': /^(\+?30)?(69\d{8})$/,
974+
'el-GR': /^(\+?30|0)?(69\d{8})$/,
973975
'en-AU': /^(\+?61|0)4\d{8}$/,
974976
'en-GB': /^(\+?44|0)7\d{9}$/,
975977
'en-HK': /^(\+?852\-?)?[456789]\d{3}\-?\d{4}$/,

validator.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)