-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalidate.js
More file actions
109 lines (81 loc) · 2.39 KB
/
validate.js
File metadata and controls
109 lines (81 loc) · 2.39 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
* This file is part of the QuidPHP package <https://quidphp.com>
* Author: Pierre-Philippe Emond <emondpph@gmail.com>
* License: https://github.com/quidphp/javascript/blob/master/LICENSE
*/
// validate
// script with behaviours related to validation
// import
import { Bool, Num, Str } from '../index.js';
// export
export default {
// isNumericDash
// retourne vrai si la valeur contient seulement des caractères numérique ou -
isNumericDash: function(value)
{
return this.regex(value,"^[0-9\-]+$");
},
// isEmail
// retourne vrai si la valeur est un email
isEmail: function(value)
{
return this.regex(value,/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{1,4})+$/);
},
// isRegexStr
// retourne vrai si une valeur un regex ou instance de RegExp
isRegexStr: function(value)
{
return (Str.isNotEmpty(value) || value instanceof RegExp);
},
// regex
// permet de lancer un test d'expression régulière
regex: function(value,exp)
{
let r = false;
if(Str.is(value) && this.isRegexStr(exp))
{
const regex = new RegExp(exp);
if(regex.test(value))
r = true;
}
return r;
},
// trigger
// lance la validation required et ensuite pattern
trigger: function(value,required,pattern)
{
let r = this.required(value,required);
if(r === true)
r = this.pattern(value,pattern);
return r;
},
// required
// fait le test required sur la valeur
required: function(value,required)
{
let r = true;
if(Bool.is(required))
required = Bool.toInt(required);
if(Num.isPositive(required))
{
value = Str.cast(value);
value = Str.trim(value);
if(!value.length)
r = false;
}
return r;
},
// pattern
// fait le test required sur la valeur
pattern: function(value,pattern)
{
let r = true;
if(Str.isNotEmpty(pattern))
{
value = Str.cast(value);
if(value.length && !this.regex(value,pattern))
r = false;
}
return r;
}
}