Files
2024-07-05 21:36:15 +03:30

465 lines
14 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
$(document).ready(function () {
$('.wrapper label').addClass('hasValueLabel');
$('#username').on('keyup',
function () {
checkInput(this, /^[a-zA-Z0-9@._]+$/);
inputValue();
});
$('#password').on('keyup',
function() {
checkInput(this, /^[a-zA-Z0-9@._!#$%^&*()+]+$/);
inputValue();
});
$('#user').on('keyup',
function () {
checkInputSignUp(this, /^[a-zA-Z0-9@.]+$/);
});
$('.toggle-password').click(function () {
var passwordInput = $('#password');
var passwordFieldType = passwordInput.attr('type');
if (passwordFieldType === 'password') {
passwordInput.attr('type', 'text');
$('.toggle-password i').removeClass('fa-eye').addClass('fa-eye-slash');
} else {
passwordInput.attr('type', 'password');
$('.toggle-password i').removeClass('fa-eye-slash').addClass('fa-eye');
}
});
});
//$(window).on('pageshow', function (event) {
// if (event.originalEvent.persisted) {
// setTimeout(function () {
// inputValue();
// }, 0);
// } else {
// inputValue();
// }
//});
$('.form-control').on('focus animationstart keyup', function () {
$(this).next().addClass("hasValueLabel");
$(this).addClass("hasValue");
});
$('.form-control').on('blur', function () {
inputValue()
});
function inputValue(){
$('.form-control').each(function () {
/* console.log($(this).val());*/
if ($(this).attr('type') !== 'radio' && ($(this).attr('type') !== 'checkbox')) {
if ($(this).val() !== "") {
$(this).next().addClass("hasValueLabel");
$(this).addClass("hasValue");
} else {
$(this).next().removeClass("hasValueLabel");
$(this).removeClass("hasValue");
}
}
});
}
function checkInput(element , pattern){
var regex = new RegExp(pattern);
//console.log(regex);
if (!regex.test($(element).val()) && ($(element).val().length != 0)) {
$(element).addClass("errored");
$(".alert-msg").removeClass("d-none");
$(".alert-msg").addClass("d-block" );
$(".alert-msg p").text("");
$(".alert-msg p").text("لطفا زبان کیبورد خود را به انگلیسی تغییر دهید.");
$(element).focus();
}else{
$(element).removeClass("errored");
$(".alert-msg").addClass("d-none");
$(".alert-msg p").text("");
}
}
//******************** حرکت اتوماتیک اینپوت به اینپوت دیگر مربوط به کد برای ورود و انتخاب اینپوت برای انتخاب کردن ********************
//حرکت اتوماتیک
$('.codeInput').on('keyup keypress', function (e) {
var keyCode = e.keyCode || e.which;
////کلید دمکه بک اسپیس 8
if (keyCode === 8) {
let index_next = $(this).attr("data-next");
if (index_next == "end") {
$('#n4').focus();
$('#n4').select();
} else if (index_next == "5") {
$('#n3').focus();
$('#n3').select();
} else if (index_next == "4") {
$('#n2').focus();
$('#n2').select();
} else if (index_next == "3") {
$('#n1').focus();
$('#n1').select();
} else if (index_next == "2") {
$('#n0').focus();
$('#n0').select();
} else if (index_next == "1") {
$('#n0').focus();
$('#n0').select();
}
return;
}
if (this.value.length === this.maxLength) {
let next = $(this).data('next');
$('#n' + next).focus();
$('#n' + next).select();
}
//وقتی کد ورودی وارد شد، اتوماتیک ورود میشود
if ($('#n0').val() && $('#n1').val() && $('#n2').val() && $('#n3').val() && $('#n4').val() && $('#n5').val()) {
console.log($('#n1').val());
//$('#btn-login-code').trigger('click');
confirmCodeToLogin();
}
});
//$('.codeInput').on('keyup keypress', function (e) {
// //کلید دمکه بک اسپیس 8
// if (e.keyCode === 8) {
// let next = parseInt($(this).data('next'));
// console.log(--next);
// //next = next-1;
// //if (next == 1) {
// // return next = 1;
// //}
// console.log(next);
// $('#n' + next).focus();
// $('#n' + next).select();
// }
//});
//کلید دمکه اینتر 13
//var keyCode = e.keyCode || e.which;
//if (keyCode === 13) {
// $('#btnSmsReciver').click();
//}
//انتخاب متن هنگام کلیک کردن بر روی اینپوت
$(".codeInput").click(function () {
$(this).select();
});
//******************** حرکت اتوماتیک اینپوت به اینپوت دیگر مربوط به کد برای ورود و انتخاب اینپوت برای انتخاب کردن ********************
//******************** نمایش دادن یا مخفی کردن پسورد ********************
var eyeShow = $('.eyeShow');
var eyeClose = $('.eyeClose');
var reEyeShow = $('.reEyeShow');
var reEyeClose = $('.reEyeClose');
eyeShow.show();
eyeClose.hide();
reEyeShow.show();
reEyeClose.hide();
function passFunction() {
var x = document.getElementById("password");
if (x.type === "password") {
x.type = "text";
eyeShow.hide();
eyeClose.show();
} else {
x.type = "password";
eyeShow.show();
eyeClose.hide();
}
}
function rePassFunction() {
var x = document.getElementById("repeat_password");
if (x.type === "password") {
x.type = "text";
reEyeShow.hide();
reEyeClose.show();
} else {
x.type = "password";
reEyeShow.show();
reEyeClose.hide();
}
}
//******************** نمایش دادن یا مخفی کردن پسورد ********************
function passFunction() {
var x = document.getElementById("password");
if (x.type === "password") {
x.type = "text";
eyeShow.hide();
eyeClose.show();
} else {
x.type = "password";
eyeShow.show();
eyeClose.hide();
}
}
function checkInputSignUp(element, pattern) {
var regex = new RegExp(pattern);
/* console.log(regex);*/
if (!regex.test($(element).val()) && ($(element).val().length != 0)) {
$(".addedAlarm").remove();
//$(".error-box-signUp").append('<p class="addedAlarm" style="padding: 10px 7px 0px;">لطفا زبان کیبورد خود را به انگلیسی تغییر دهید.</p>');
//$("#user").addClass("invalidPass");
$(".alert-msg").removeClass("d-none");
$(".alert-msg").addClass("d-block");
$(".alert-msg p").text("");
$(".alert-msg p").text("لطفا زبان کیبورد خود را به انگلیسی تغییر دهید.");
$(element).focus();
} else {
$("#user").removeClass("invalidPass");
$(".addedAlarm").remove();
}
}
////ولیدیشن تاریخ
function dateValidcheck(inputField1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function (str) {
if (typeof str === 'string') {
for (var i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = inputField1.value;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
let s1, s2;
for (var i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 4) {
s1 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 7) {
s2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let fixResult = yRes + s1 + mRes + s2 + dRes;
let test1 = checkEnValid(inputField1.value);
let isValid = /^([1][3-4][0-9][0-9][/])([0][1-9]|[1][0-2])([/])([0][1-9]|[1-2][0-9]|[3][0-1])$/.test(fixResult);
if (isValid && test1) {
start1valid = true;
} else {
if (inputField1.value != "") {
start1valid = false;
}
}
return start1valid;
}
function checkEnValid(fixDate1) {
let persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g],
arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g],
fixNumbers = function (str) {
if (typeof str === 'string') {
for (var i = 0; i < 10; i++) {
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
}
}
return str;
};
let getdate = fixDate1;
let m1, m2;
let y1, y2, y3, y4;
let d1, d2;
for (let i = 0; i < getdate.length; i++) {
if (i === 0) {
y1 = fixNumbers(getdate[i]);
}
if (i === 1) {
y2 = fixNumbers(getdate[i]);
}
if (i === 2) {
y3 = fixNumbers(getdate[i]);
}
if (i === 3) {
y4 = fixNumbers(getdate[i]);
}
if (i === 5) {
m1 = fixNumbers(getdate[i]);
}
if (i === 6) {
m2 = fixNumbers(getdate[i]);
}
if (i === 8) {
d1 = fixNumbers(getdate[i]);
}
if (i === 9) {
d2 = fixNumbers(getdate[i]);
}
}
let yRes = y1 + y2 + y3 + y4;
let year = parseInt(yRes);
let mRes = m1 + m2;
let month = parseInt(mRes);
let dRes = d1 + d2;
let day = parseInt(dRes);
let kabiseh = false;
if (month <= 6 && day > 31) {
return false;
} else if (month > 6 && month < 12 && day > 30) {
return false;
} else if (month === 12) {
switch (year) {
case 1346:
kabiseh = true;
break;
case 1350:
kabiseh = true;
break;
case 1354:
kabiseh = true;
break;
case 1358:
kabiseh = true;
break;
case 1362:
kabiseh = true;
break;
case 1366:
kabiseh = true;
break;
case 1370:
kabiseh = true;
break;
case 1375:
kabiseh = true;
break;
case 1379:
kabiseh = true;
break;
case 1383:
kabiseh = true;
break;
case 1387:
kabiseh = true;
break;
case 1391:
kabiseh = true;
break;
case 1395:
kabiseh = true;
break;
case 1399:
kabiseh = true;
break;
case 1403:
kabiseh = true;
break;
case 1408:
kabiseh = true;
break;
case 1412:
kabiseh = true;
break;
case 1416:
kabiseh = true;
break;
case 1420:
kabiseh = true;
break;
case 1424:
kabiseh = true;
break;
case 1428:
kabiseh = true;
break;
case 1432:
kabiseh = true;
break;
case 1436:
kabiseh = true;
break;
case 1441:
kabiseh = true;
break;
case 1445:
kabiseh = true;
break;
default:
kabiseh = false;
}
if (kabiseh == true && day > 30) {
return false;
} else if (kabiseh == false && day > 29) {
return false;
} else {
return true;
}
} else {
return true;
}
}