Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function is_valid_egn(id){
- var idRGEX = /^[0-9]{10}$/;
- if(!idRGEX.test(id)){
- return false;
- }
- var val = id[0]*2 + id[1]*4 + id[2]*8 + id[3]*5 + id[4]*10 + id[5]*9 + id[6]*7 + id[7]*3 + id[8]*6;
- val = (val % 11) % 10;
- return val == id[9];
- }
- function alertValidIBAN(iban) {
- if(isValidIBANNumber(iban) == 1){
- return true;
- }
- return false;
- }
- function isValidIBANNumber(input) {
- var CODE_LENGTHS = {
- AD: 24, AE: 23, AT: 20, AZ: 28, BA: 20, BE: 16, BG: 22, BH: 22, BR: 29,
- CH: 21, CR: 21, CY: 28, CZ: 24, DE: 22, DK: 18, DO: 28, EE: 20, ES: 24,
- FI: 18, FO: 18, FR: 27, GB: 22, GI: 23, GL: 18, GR: 27, GT: 28, HR: 21,
- HU: 28, IE: 22, IL: 23, IS: 26, IT: 27, JO: 30, KW: 30, KZ: 20, LB: 28,
- LI: 21, LT: 20, LU: 20, LV: 21, MC: 27, MD: 24, ME: 22, MK: 19, MR: 27,
- MT: 31, MU: 30, NL: 18, NO: 15, PK: 24, PL: 28, PS: 29, PT: 25, QA: 29,
- RO: 24, RS: 22, SA: 24, SE: 24, SI: 19, SK: 24, SM: 27, TN: 24, TR: 26,
- AL: 28, BY: 28, CR: 22, EG: 29, GE: 22, IQ: 23, LC: 32, SC: 31, ST: 25,
- SV: 28, TL: 23, UA: 29, VA: 22, VG: 24, XK: 20
- };
- var iban = String(input).toUpperCase().replace(/[^A-Z0-9]/g, ''), // keep only alphanumeric characters
- code = iban.match(/^([A-Z]{2})(\d{2})([A-Z\d]+)$/), // match and capture (1) the country code, (2) the check digits, and (3) the rest
- digits;
- // check syntax and length
- if (!code || iban.length !== CODE_LENGTHS[code[1]]) {
- return false;
- }
- // rearrange country code and check digits, and convert chars to ints
- digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g, function (letter) {
- return letter.charCodeAt(0) - 55;
- });
- // final check
- return mod97(digits);
- }
- function mod97(string) {
- var checksum = string.slice(0, 2), fragment;
- for (var offset = 2; offset < string.length; offset += 7) {
- fragment = String(checksum) + string.substring(offset, offset + 7);
- checksum = parseInt(fragment, 10) % 97;
- }
- return checksum;
- }
- function validate(){
- var username = document.getElementById('username').value;
- var pass = document.getElementById('pass').value;
- var confpass = document.getElementById('confpass').value;
- var id = document.getElementById('id').value;
- var iban = document.getElementById('iban').value;
- var birth = document.getElementById('birth').value;
- var email = document.getElementById('email').value;
- var num = document.getElementById('num').value;
- // alert(is_valid_egn(id));
- var usernameRGEX = /^[a-zA-Z0-9_]{5,}$/;
- var passRGEX = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&#-_])[A-Za-z\d@$!%*?&#-_]{8,}$/;
- var idRGEX = /^\d{10}$/;
- var birthRGEX = /^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/m;
- var emailRGEX = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
- var numRGEX = /(([+][(]?[0-9]{1,3}[)]?)|([(]?[0-9]{4}[)]?))\s*[)]?[-\s\.]?[(]?[0-9]{1,3}[)]?([-\s\.]?[0-9]{3})([-\s\.]?[0-9]{2,4})/;
- var usernameResult = usernameRGEX.test(username);
- var passResult = passRGEX.test(pass);
- var confpassResult = pass == confpass;
- var idResult = is_valid_egn(id);
- var ibanResult = alertValidIBAN(iban);
- var birthResult = birthRGEX.test(birth);
- var emailResult = emailRGEX.test(email);
- var numResult = numRGEX.test(num);
- alert("username: " + usernameResult +
- "\npassword: "+ passResult +
- "\nconfirm pass: " + confpassResult +
- "\nid: " + idResult +
- "\niban: " + ibanResult +
- "\nbirthdate: " + birthResult +
- "\nemail: " + emailResult +
- "\nnum: " + numResult);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement