-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
43 lines (36 loc) · 1.66 KB
/
index.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
/**
* Librairie contenant des regex de plusieurs cas qu'on peut rencontrer (url,email,numéro telephone,...)
* @author Don de Dieu Bolenge
* @version 0.1.0
* @license ISC
* @git https://github.com/bolenge/mbregex.git
*/
/**
* Vérifie si l'url passé en paramètre est valide
* @param {String} url L'url à vérifier
* @param {Boolean} acceptProtocol Si on doit obliger la présence du protocol devant l'url ou pas
* @return {Boolean}
*/
exports.isUrlValid = (url, acceptProtocol = true) => {
var oldExpression = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/gi;
var expression = /^((ftp|ftps|http|https):\/\/)?(([a-zA-Z0-9]{1,})([a-zA-Z0-9\-]{1,})?\.)?(([a-zA-Z0-9]{1,})([a-zA-Z0-9\-]{1,})?([a-zA-Z0-9]))+(\.[a-zA-Z0-9]{2,})$/i
var expressWithProtocol = /^((ftp|ftps|http|https):\/\/)(([a-zA-Z0-9]{1,})([a-zA-Z0-9\-]{1,})?\.)?(([a-zA-Z0-9]{1,})([a-zA-Z0-9\-]{1,})?([a-zA-Z0-9]))+(\.[a-zA-Z0-9]{2,})$/i
var regex = acceptProtocol ? new RegExp(expressWithProtocol) : new RegExp(expression);
if (regex.test(url)) {
return true
}
return false
}
/**
* Vérifie si l'adresse passée en paramètre est une adresse email
* @param {String} adress L'adresse Email à vérifier
* @return {Boolean}
*/
exports.isEmail = (adress) => {
var expression = /^([a-zA-Z0-9]{1,})+(_\-)?([a-zA-Z0-9_\-]{1,})([a-zA-Z0-9]@[a-zA-Z0-9])+([a-zA-Z0-9_\-]{1,})(\.[a-zA-Z0-9]{2,})+$/i
var regex = new RegExp(expression);
if (regex.test(adress)) {
return true
}
return false
}