ldx-widgets
Version:
widgets
65 lines (63 loc) • 1.86 kB
JavaScript
(function() {
module.exports = {
isAlphabetsOnly: function(string) {
return /^[a-zA-Z]+$/.test(string);
},
isAlphaNumericOnly: function(string) {
return /^[a-zA-Z\d]*$/.test(string);
},
isAlphaNumericWithSpaces: function(string) {
return /^[A-Za-z\d\s]*$/.test(string);
},
isValidTitle: function(string) {
return /^[a-zA-Z'"!@#$%&*()-_+:;.,?\/0-9\s]+$/.test(string);
},
isPositiveWholeNumber: function(num) {
return /^\d+$/.test(num);
},
isNumeric: function(num) {
return /^-?[0-9]\d*(\.\d+)?$/.test(num);
},
isValidEmail: function(addr) {
return /[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i.test(addr);
},
isValidName: function(name) {
return /^[a-zA-Z' \-]+$/.test(name);
},
isValidPhone: function(num) {
num = String(num);
if (num.length === 0) {
return true;
}
num = num.replace(/[\-\(\)\s]/g, "");
if (num.length !== 10) {
return false;
}
return this.isNumericOnly(num);
},
isValidNhs: function(nhs) {
var checkDigit, digit, factor, i, len, mod11, modulus, nhsNumber;
nhsNumber = nhs.replace(/\s/g, '');
if (nhsNumber.length < 10) {
return false;
}
mod11 = 0;
factor = 10;
for (i = 0, len = nhsNumber.length; i < len; i++) {
digit = nhsNumber[i];
if (!(factor > 1)) {
continue;
}
mod11 += digit * factor;
factor -= 1;
}
modulus = 11 - (mod11 % 11);
checkDigit = parseInt(nhsNumber[9]);
if (modulus === checkDigit || (modulus === 11 && checkDigit === 0)) {
return true;
} else {
return false;
}
}
};
}).call(this);