u
This commit is contained in:
parent
a256e4fc34
commit
e18018f03c
@ -1,5 +1,6 @@
|
||||
// https://en.wikipedia.org/wiki/ISO_3166
|
||||
// https://www.iso.org/obp/ui/#search
|
||||
// https://www.chenweiliang.com/cwl-1354.html
|
||||
|
||||
module.exports = {
|
||||
AD: {
|
||||
@ -59,7 +60,7 @@ module.exports = {
|
||||
iso3: 'ATG',
|
||||
isoName: 'ANTIGUA AND BARBUDA',
|
||||
isod: '028',
|
||||
itc: '1 268',
|
||||
itc: '1268',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Antigua and Barbuda', zhCN: '安提瓜和巴布达', zhHK: '安提瓜和巴布达', zhTW: '安提瓜和巴布达' },
|
||||
namefull: { enUS: '', zhCN: '安提瓜和巴布达' },
|
||||
@ -75,7 +76,7 @@ module.exports = {
|
||||
iso3: 'AIA',
|
||||
isoName: 'ANGUILLA',
|
||||
isod: '660',
|
||||
itc: '1 264',
|
||||
itc: '1264',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'Anguilla', zhCN: '安圭拉', zhHK: '安圭拉岛', zhTW: '英属安圭拉' },
|
||||
namefull: { enUS: '', zhCN: '安圭拉' },
|
||||
@ -171,7 +172,7 @@ module.exports = {
|
||||
iso3: 'ASM',
|
||||
isoName: 'AMERICAN SAMOA',
|
||||
isod: '016',
|
||||
itc: '1 684',
|
||||
itc: '1684',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'American Samoa', zhCN: '美属萨摩亚', zhHK: '美属萨摩亚', zhTW: '美属萨摩亚' },
|
||||
namefull: { enUS: '', zhCN: '美属萨摩亚' },
|
||||
@ -283,7 +284,7 @@ module.exports = {
|
||||
iso3: 'BRB',
|
||||
isoName: 'BARBADOS',
|
||||
isod: '052',
|
||||
itc: '1 246',
|
||||
itc: '1246',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Barbados', zhCN: '巴巴多斯', zhHK: '巴巴多斯', zhTW: '巴巴多斯' },
|
||||
namefull: { enUS: '', zhCN: '巴巴多斯' },
|
||||
@ -427,7 +428,7 @@ module.exports = {
|
||||
iso3: 'BMU',
|
||||
isoName: 'BERMUDA',
|
||||
isod: '060',
|
||||
itc: '1 441',
|
||||
itc: '1441',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'Bermuda', zhCN: '百慕大', zhHK: '百慕大', zhTW: '百慕大' },
|
||||
namefull: { enUS: '', zhCN: '百慕大' },
|
||||
@ -507,7 +508,7 @@ module.exports = {
|
||||
iso3: 'BHS',
|
||||
isoName: 'BAHAMAS',
|
||||
isod: '044',
|
||||
itc: '1 242',
|
||||
itc: '1242',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Bahamas', zhCN: '巴哈马', zhHK: '巴哈马', zhTW: '巴哈马' },
|
||||
namefull: { enUS: 'the Commonwealth of The Bahamas', zhCN: '巴哈马联邦' },
|
||||
@ -604,6 +605,9 @@ module.exports = {
|
||||
isoName: 'CANADA',
|
||||
isod: '124',
|
||||
itc: '1',
|
||||
phoneRegex: /^\d{10}$/.source,
|
||||
phoneMaxlen: 10,
|
||||
phoneMinlen: 10,
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Canada', zhCN: '加拿大', zhHK: '加拿大', zhTW: '加拿大' },
|
||||
namefull: { enUS: '', zhCN: '加拿大' },
|
||||
@ -764,14 +768,14 @@ module.exports = {
|
||||
isoName: 'CHINA',
|
||||
isod: '156',
|
||||
itc: '86',
|
||||
phoneRegex: /^1\d{10}$/.source,
|
||||
phoneMaxlen: 11,
|
||||
phoneMinlen: 11,
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'China', native: '中国', zhCN: '中国', zhHK: '大陆', zhTW: '大陆' },
|
||||
namefull: { enUS: "the People's Republic of China", zhCN: '中华人民共和国' },
|
||||
notes:
|
||||
'“GB/T 2659-2000”的“CN”适用于整个中华人民共和国辖区(包括中国大陆、香港、澳门)。而“ISO 3166-1”和“CNS 12842”的“CN”则仅适用于中国大陆,不含港澳地区。',
|
||||
phoneRegex: /^1\d{10}$/.source,
|
||||
phoneMaxlen: 11,
|
||||
phoneMinlen: 11,
|
||||
timezone: '0',
|
||||
},
|
||||
CO: {
|
||||
@ -959,7 +963,7 @@ module.exports = {
|
||||
iso3: 'DMA',
|
||||
isoName: 'DOMINICA',
|
||||
isod: '212',
|
||||
itc: '1 767',
|
||||
itc: '1767',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Dominica', zhCN: '多米尼克', zhHK: '多米尼克', zhTW: '多米尼克' },
|
||||
namefull: { enUS: 'the Commonwealth of Dominica', zhCN: '多米尼克' },
|
||||
@ -1248,7 +1252,7 @@ module.exports = {
|
||||
iso3: 'GRD',
|
||||
isoName: 'GRENADA',
|
||||
isod: '308',
|
||||
itc: '1 473',
|
||||
itc: '1473',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Grenada', zhCN: '格林纳达', zhHK: '格林纳达', zhTW: '格林纳达' },
|
||||
namefull: { enUS: '', zhCN: '格林纳达' },
|
||||
@ -1477,7 +1481,7 @@ module.exports = {
|
||||
iso3: 'GUM',
|
||||
isoName: 'GUAM',
|
||||
isod: '316',
|
||||
itc: '1 671',
|
||||
itc: '1671',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'Guam', zhCN: '关岛', zhHK: '关岛', zhTW: '关岛' },
|
||||
namefull: { enUS: '', zhCN: '关岛' },
|
||||
@ -1797,7 +1801,7 @@ module.exports = {
|
||||
iso3: 'JAM',
|
||||
isoName: 'JAMAICA',
|
||||
isod: '388',
|
||||
itc: '1 876',
|
||||
itc: '1876',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Jamaica', zhCN: '牙买加', zhHK: '牙买加', zhTW: '牙买加' },
|
||||
namefull: { enUS: '', zhCN: '牙买加共和国' },
|
||||
@ -1830,11 +1834,11 @@ module.exports = {
|
||||
isoName: 'JAPAN',
|
||||
isod: '392',
|
||||
itc: '81',
|
||||
phoneRegex: /^\d{10,11}$/.source,
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Japan', native: '日本', zhCN: '日本', zhHK: '日本', zhTW: '日本' },
|
||||
namefull: { enUS: '', zhCN: '日本国' },
|
||||
notes: '',
|
||||
phoneRegex: /^\d{10,11}$/.source,
|
||||
timezone: '1',
|
||||
},
|
||||
KE: {
|
||||
@ -1926,7 +1930,7 @@ module.exports = {
|
||||
iso3: 'KNA',
|
||||
isoName: 'SAINT KITTS AND NEVIS',
|
||||
isod: '659',
|
||||
itc: '1 869',
|
||||
itc: '1869',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Saint Kitts and Nevis', zhCN: '圣基茨和尼维斯', zhHK: '圣基茨和尼维斯', zhTW: '圣基茨和尼维斯' },
|
||||
namefull: { enUS: '', zhCN: '圣基茨和尼维斯联邦' },
|
||||
@ -1990,7 +1994,7 @@ module.exports = {
|
||||
iso3: 'CYM',
|
||||
isoName: 'CAYMAN ISLANDS',
|
||||
isod: '136',
|
||||
itc: '1 345',
|
||||
itc: '1345',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'Cayman Islands', zhCN: '开曼群岛', zhHK: '开曼群岛', zhTW: '开曼群岛' },
|
||||
namefull: { enUS: '', zhCN: '开曼群岛' },
|
||||
@ -2054,7 +2058,7 @@ module.exports = {
|
||||
iso3: 'LCA',
|
||||
isoName: 'SAINT LUCIA',
|
||||
isod: '662',
|
||||
itc: '1 758',
|
||||
itc: '1758',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Saint Lucia', zhCN: '圣卢西亚', zhHK: '圣卢西亚', zhTW: '圣卢西亚' },
|
||||
namefull: { enUS: '', zhCN: '圣卢西亚' },
|
||||
@ -2390,7 +2394,7 @@ module.exports = {
|
||||
iso3: 'MNP',
|
||||
isoName: 'NORTHERN MARIANA ISLANDS',
|
||||
isod: '580',
|
||||
itc: '1 670',
|
||||
itc: '1670',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'Northern Mariana Islands', zhCN: '北马里亚纳群岛', zhHK: '北马里亚纳群岛', zhTW: '北马里亚纳群岛' },
|
||||
namefull: { enUS: 'the Commonwealth of the Northern Mariana Islands', zhCN: '北马里亚纳群岛邦' },
|
||||
@ -2438,7 +2442,7 @@ module.exports = {
|
||||
iso3: 'MSR',
|
||||
isoName: 'MONTSERRAT',
|
||||
isod: '500',
|
||||
itc: '1 664',
|
||||
itc: '1664',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'Montserrat', zhCN: '蒙塞拉特岛', zhHK: '蒙塞拉特岛', zhTW: '蒙塞拉特岛' },
|
||||
namefull: { enUS: '', zhCN: '蒙特塞拉特' },
|
||||
@ -3182,11 +3186,11 @@ module.exports = {
|
||||
isoName: 'SINGAPORE',
|
||||
isod: '702',
|
||||
itc: '65',
|
||||
phoneRegex: /^[89]\d{7}$/.source,
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Singapore', zhCN: '新加坡', zhHK: '新加坡', zhTW: '新加坡' },
|
||||
namefull: { enUS: 'the Republic of Singapore', zhCN: '新加坡共和国' },
|
||||
notes: '',
|
||||
phoneRegex: /^[89]\d{7}$/.source,
|
||||
timezone: '0',
|
||||
},
|
||||
SH: {
|
||||
@ -3391,7 +3395,7 @@ module.exports = {
|
||||
iso3: 'SXM',
|
||||
isoName: 'SINT MAARTEN (DUTCH PART)',
|
||||
isod: '534',
|
||||
itc: '1 721',
|
||||
itc: '1721',
|
||||
legalstatus: '',
|
||||
name: { enUS: 'Sint Maarten', zhCN: '荷属圣马丁', zhHK: '荷属圣马丁', zhTW: '荷属圣马丁' },
|
||||
namefull: { zhCN: '荷属圣马丁' },
|
||||
@ -3439,7 +3443,7 @@ module.exports = {
|
||||
iso3: 'TCA',
|
||||
isoName: 'TURKS AND CAICOS ISLANDS',
|
||||
isod: '796',
|
||||
itc: '1 649',
|
||||
itc: '1649',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'Turks and Caicos Islands', zhCN: '特克斯和凯科斯群岛', zhHK: '特克斯和凯科斯群岛', zhTW: '土克斯及开科斯群岛' },
|
||||
namefull: { enUS: '', zhCN: '特克斯与凯科斯群岛' },
|
||||
@ -3631,7 +3635,7 @@ module.exports = {
|
||||
iso3: 'TTO',
|
||||
isoName: 'TRINIDAD AND TOBAGO',
|
||||
isod: '780',
|
||||
itc: '1 868',
|
||||
itc: '1868',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Trinidad and Tobago', zhCN: '特立尼达和多巴哥', zhHK: '特立尼达和多巴哥', zhTW: '特立尼达和多巴哥' },
|
||||
namefull: { enUS: 'the Republic of Trinidad and Tobago', zhCN: '特立尼达和多巴哥共和国' },
|
||||
@ -3727,7 +3731,7 @@ module.exports = {
|
||||
iso3: 'UMI',
|
||||
isoName: 'UNITED STATES MINOR OUTLYING ISLANDS',
|
||||
isod: '581',
|
||||
itc: '1 808',
|
||||
itc: '1808',
|
||||
legalstatus: '',
|
||||
name: { enUS: 'U.S. Minor Outlying Islands', zhCN: '美国本土外小岛屿', zhHK: '美国海外小岛', zhTW: '美国边疆小岛' },
|
||||
namefull: { enUS: '', zhCN: '美国本土外小岛屿' },
|
||||
@ -3744,13 +3748,13 @@ module.exports = {
|
||||
isoName: 'UNITED STATES',
|
||||
isod: '840',
|
||||
itc: '1',
|
||||
phoneRegex: /^\d{10}$/.source,
|
||||
phoneMaxlen: 10,
|
||||
phoneMinlen: 10,
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'United States', zhCN: '美国', zhHK: '美国', zhTW: '美国' },
|
||||
namefull: { enUS: 'the United States of America', zhCN: '美利坚合众国' },
|
||||
notes: '',
|
||||
phoneRegex: /^\d{10}$/.source,
|
||||
phoneMaxlen: 10,
|
||||
phoneMinlen: 10,
|
||||
timezone: '-13',
|
||||
},
|
||||
UY: {
|
||||
@ -3811,7 +3815,7 @@ module.exports = {
|
||||
iso3: 'VCT',
|
||||
isoName: 'SAINT VINCENT AND THE GRENADINES',
|
||||
isod: '670',
|
||||
itc: '1 784',
|
||||
itc: '1784',
|
||||
legalstatus: '1',
|
||||
name: { enUS: 'Saint Vincent and the Grenadines', zhCN: '圣文森特和格林纳丁斯', zhHK: '圣文森特和格林纳丁斯', zhTW: '圣文森特和格林纳丁斯' },
|
||||
namefull: { enUS: '', zhCN: '圣文森特和格林纳丁斯' },
|
||||
@ -3843,7 +3847,7 @@ module.exports = {
|
||||
iso3: 'VGB',
|
||||
isoName: 'VIRGIN ISLANDS (BRITISH)',
|
||||
isod: '092',
|
||||
itc: '1 284',
|
||||
itc: '1284',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'British Virgin Islands', zhCN: '英属维尔京群岛', zhHK: '英属处女群岛', zhTW: '英属维尔京群岛' },
|
||||
namefull: { enUS: 'British Virgin Islands', zhCN: '英属维京群岛' },
|
||||
@ -3859,7 +3863,7 @@ module.exports = {
|
||||
iso3: 'VIR',
|
||||
isoName: 'VIRGIN ISLANDS (U.S.)',
|
||||
isod: '850',
|
||||
itc: '1 340',
|
||||
itc: '1340',
|
||||
legalstatus: '2',
|
||||
name: { enUS: 'U.S. Virgin Islands', zhCN: '美属维尔京群岛', zhHK: '美属处女群岛', zhTW: '美属维尔京群岛' },
|
||||
namefull: { enUS: 'the Virgin Islands of the United States', zhCN: '美属维京群岛' },
|
||||
|
20
i18n-tool.js
20
i18n-tool.js
@ -1,11 +1,19 @@
|
||||
const landSet = require('./i18n-lands.js')
|
||||
|
||||
module.exports = {
|
||||
validate_phone ({ phone, level = wo?.envar?.phoneStrict || wo?.ss?.envarRemote?.phoneStrict || 'LEN' } = {}) {
|
||||
validate_phone ({ phone, format } = {}) {
|
||||
try {
|
||||
if (typeof format === 'string') {
|
||||
return new RegExp(format).test(callnumber)
|
||||
}
|
||||
} catch (exp) {
|
||||
console.log('Invalid phone format: ', format)
|
||||
}
|
||||
|
||||
try {
|
||||
let [fullphone, itc, callnumber] = /^\+(\d{1,4})-(\d{7,12})$/.exec(phone)
|
||||
let landSet = wo?.i18n?.landSet || wo?.ss?.i18n?.landSet || {}
|
||||
for (let land of Object.values(landSet)) {
|
||||
if (land.itc === itc) {
|
||||
console.log(land)
|
||||
if (land.phoneRegex) {
|
||||
return new RegExp(land.phoneRegex).test(callnumber)
|
||||
} else {
|
||||
@ -26,16 +34,16 @@ module.exports = {
|
||||
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
|
||||
*/
|
||||
validate_email ({ email, format } = {}) {
|
||||
let regex =
|
||||
/^((?:[A-Za-z0-9!#$%&'*+\-\/=?^_`{|}~]|(?<=^|\.)"|"(?=$|\.|@)|(?<=".*)[ .](?=.*")|(?<!\.)\.){1,64})(@)((?:[A-Za-z0-9.\-])*(?:[A-Za-z0-9])\.(?:[A-Za-z0-9]){2,})$/
|
||||
try {
|
||||
if (typeof format === 'string') {
|
||||
regex = new RegExp(format)
|
||||
return new RegExp(format).test(email)
|
||||
}
|
||||
} catch (exp) {
|
||||
console.log('Invalid email format: ', format)
|
||||
}
|
||||
|
||||
let regex =
|
||||
/^((?:[A-Za-z0-9!#$%&'*+\-\/=?^_`{|}~]|(?<=^|\.)"|"(?=$|\.|@)|(?<=".*)[ .](?=.*")|(?<!\.)\.){1,64})(@)((?:[A-Za-z0-9.\-])*(?:[A-Za-z0-9])\.(?:[A-Za-z0-9]){2,})$/
|
||||
return regex.test(email)
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user