-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexprjs.js
66 lines (55 loc) · 1.37 KB
/
exprjs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
* Expr JS
* Version: 1.0
* Author: Luis Arcia
* (C)2019. Weblarc.com
* MIT License
*/
'strict';
class EXPR {
static celular( valor, country, tipo ) {
var paises = this.paises()
var exp_reg;
if( Object.keys( paises ).find(key => paises ) === country ) {
for (const x in paises) {
if( paises[x] != undefined ) {
switch( tipo ) {
case 'celular':
exp_reg = paises[x].celular;
break;
case 'fijo':
exp_reg = paises[x].fijo
break
default:
throw 'No se seleccionó el tipo de número';
}
return exp_reg.test( Number( valor ) );
} else {
throw 'País ingresado no se encuentra en la lista compatible';
}
}
} else {
throw 'País ingresado no se encuentra en la lista compatible';
}
}
static imei( valor ) {
const imei_regex = /^[0-9]{15}$/g;
return imei_regex.test( valor );
}
static email( valor ) {
const email_regex = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
return email_regex.test( valor );
}
static url( valor ) {
const url_regex = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gm;
return url_regex.test( valor );
}
static paises() {
return {
PA: {
celular: /^(6)[0-9]{7}$/,
fijo: /^(2|3|4|5|7|8|9)[0-9]{6}$/
}
}
}
}