Skip to content

Commit 38aef5d

Browse files
authored
Create script.js
1 parent 8927618 commit 38aef5d

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

Mobile_Number_validator/script.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
function mobileCheck(str) {
2+
let bracketCheck = /[(]\d{3}[)]/;
3+
let checkBeginning = /^([(]\d{3}[)])/;
4+
let otherCharsCheck = /^[-]|[^\s-\d)(]/;
5+
let space = /[\s-]/g;
6+
let countryCodeCheck = /^1/;
7+
let simple = str.replace(space, '');
8+
if (otherCharsCheck.test(str)) {
9+
return false;
10+
} else {
11+
if (simple.length === 13
12+
&& countryCodeCheck.test(simple)
13+
&& bracketCheck.test(simple)) {
14+
return true;
15+
} else if (simple.length === 12
16+
&& checkBeginning.test(simple)) {
17+
return true;
18+
} else if (simple.length === 11
19+
&& countryCodeCheck.test(simple)) {
20+
return true;
21+
} else if (simple.length === 10) {
22+
return true;
23+
}
24+
} return false;
25+
}
26+
//*************//
27+
// DOM
28+
const input = document.getElementById('input');
29+
const buttons = document.querySelectorAll('#num-btn');
30+
const resultsDiv = document.getElementById('results');
31+
const phoneBtn = document.getElementById('phone-button');
32+
33+
// add functionality to each number button
34+
buttons.forEach((button) => {
35+
button.addEventListener('click', (e) => {
36+
let number;
37+
// get info from parent div if span or p tag clicked on
38+
if (e.target.tagName == 'SPAN' || e.target.tagName == 'P') {
39+
number = e.target.parentElement.attributes.number.value;
40+
} else {
41+
number = e.target.attributes.number.value;
42+
}
43+
input.value += number;
44+
});
45+
});
46+
47+
function displayResults(input) {
48+
let answer = mobileCheck(input);
49+
if (answer) {
50+
resultsDiv.innerHTML = 'Valid phone number! 😃';}
51+
else {
52+
resultsDiv.innerHTML = 'Invalid phone number! 😕';}
53+
}
54+
55+
// press enter to submit
56+
input.addEventListener('keydown', (e) => {
57+
if (e.keyCode === 13) {
58+
displayResults(e.target.value);
59+
}
60+
});
61+
62+
// click phone icon to submit
63+
phoneBtn.addEventListener('click', () => {
64+
displayResults(input.value);
65+
});

0 commit comments

Comments
 (0)