-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtelephone-input.js
49 lines (43 loc) · 1.34 KB
/
telephone-input.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
var input = document.querySelector("#WhatsApp"),
dialCode = document.querySelector(".dialCode"),
errorMsg = document.querySelector("#error-msg"),
validMsg = document.querySelector("#valid-msg");
var iti = intlTelInput(input, {
initialCountry: "br",
placeholderNumberType: "FIXED_LINE"
});
var updateInputValue = function (event) {
dialCode.value = "+" + iti.getSelectedCountryData().dialCode;
};
input.addEventListener("input", updateInputValue, false);
input.addEventListener("countrychange", updateInputValue, false);
var errorMap = [
"Número inválido",
"Código de país inválido",
"Número muito curto",
"Número muito longo",
"Número inválido"
];
var reset = function () {
input.classList.remove("error");
errorMsg.innerHTML = "";
errorMsg.classList.add("hide");
validMsg.classList.add("hide");
};
input.addEventListener("blur", function () {
reset();
if (input.value.trim()) {
if (iti.isValidNumber()) {
dialCode.value =
"+" + iti.getSelectedCountryData().dialCode + input.value;
validMsg.classList.remove("hide");
} else {
input.classList.add("error");
var errorCode = iti.getValidationError();
errorMsg.innerHTML = errorMap[errorCode];
errorMsg.classList.remove("hide");
}
}
});
input.addEventListener("change", reset);
input.addEventListener("keyup", reset);