/
validator.js
113 lines (81 loc) · 2.47 KB
/
validator.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
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
110
111
112
113
$(document).ready(function () {
var userAvailable = $('.username-available');
var emailAvailable = $('.email-available');
var passwordReqs = 0;
$("#username").on('change', function (ev) {
var username = $(this).val();
userAvailable.attr('status', 'unchecked');
if(username.length >= 5 && username.length <=12 ) {
var ajax = $.post('check-username.php', {
'username' : username
});
ajax.done(function (data) {
if(data == 'available') {
userAvailable.attr('status', 'available').html('available');
} else {
userAvailable.attr('status', 'unavailable').html('Sorry Username unavailable :(');
}
});
} else {
userAvailable.attr('status', 'unavailable').html('Sorry Username unavailable :(');
}
});
$("#email").on('change', function (ev) {
var email = $(this).val();
emailAvailable.attr('status', 'unchecked');
if(email.length >= 5 && email.length <=30 ) {
var ajax = $.post('check-email.php', {
'email' : email
});
ajax.done(function (data) {
if(data == 'available') {
emailAvailable.attr('status', 'available').html('available');
} else {
emailAvailable.attr('status', 'unavailable').html('Sorry this email is taken :(');
}
});
} else {
emailAvailable.attr('status', 'unavailable').html('Sorry this email is taken :(');
}
});
$("#password").on('keyup', function (ev) {
var password = $(this).val();
passwordReqs = 0;
if(password.length >5) {
passwordReqs++;
$('.pass-length').attr('data-state', 'achieved');
}
if(password.match(/[a-z]/)) {
passwordReqs++;
$('.pass-lower').attr('data-state', 'achieved');
}
if(password.match(/[A-Z]/)) {
passwordReqs++;
$('.pass-upper').attr('data-state', 'achieved');
}
if(password.match(/\d/)) {
passwordReqs++;
$('.pass-num').attr('data-state', 'achieved');
}
if(password.match(/[^a-zA-Z0-9]/)) {
passwordReqs++;
$('.pass-symbol').attr('data-state', 'achieved');
}
});
$('.country').on('click', function() {
var country = $(this);
if(country.val() == "canada") {
$('#address').load('country.html #CanadaProvince');
$('#IndiaStates').toggleClass('hidden');
}
if(country.val() == "india") {
$('#address').load('country.html #IndiaStates');
$('#CanadaProvince').toggleClass('hidden');
}
});
$('form').on('submit', function (ev) {
if(userAvailable.attr('status') =="unchecked"|| userAvailable.attr('status') == "unavailable"|| passwordReq < 5 ) {
ev.preventDefault();
}
});
});