Validating a Credit Card Number with JavaScript

Posted: Tue, Mar 8 05:50 PM (PST)

An easy way to validate credit card number with one function in JavaScript

function isValidCardNumber(cardNumber) {
	var nCheck = 0;
	var nDigit = 0;
	var bEven = false;

	for (n = cardNumber.length - 1; n >= 0; n--) {
		var cDigit = cardNumber.charAt(n);
		if (isDigit(cDigit)) {
			var nDigit = parseInt(cDigit, 10);
			if (bEven) {
				if ((nDigit *= 2) > 9)
					nDigit -= 9;
			}
			nCheck += nDigit;
			bEven = ! bEven;
		}
		else if (cDigit != ' ' && cDigit != '.' && cDigit != '-') {
			return false;
		}
	}
	return (nCheck % 10) == 0;
}
function isDigit(c) {
	var strAllowed = "1234567890";
	return (strAllowed.indexOf(c) != -1);
}
function isCardTypeCorrect(cardNumber, type) {
	var nLen = 0;
	for (n = 0; n < cardNumber.length; n++) {
		if (isDigit(cardNumber.substring(n, n + 1)))
			++nLen;
	}

	if (type == 'Visa')
		return ((cardNumber.substring(0, 1) == '4') && (nLen == 13 || nLen == 16));
	else if (type == 'Amex')
		return ((cardNumber.substring(0, 2) == '34' || cardNumber.substring(0, 2) == '37') && (nLen == 15));
	else if (type == 'Master Card')
		return ((cardNumber.substring(0, 2) == '51' || cardNumber.substring(0, 2) == '52'
			|| cardNumber.substring(0, 2) == '53' || cardNumber.substring(0, 2) == '54'
			|| cardNumber.substring(0, 2) == '55') && (nLen == 16));
	else
		return false;

}
Tags:

Validate email address using JavaScript regular expression

Posted: Tue, Mar 8 05:32 PM (PST)

Here is the code to validate email address in JavaScript using regular expression.

function validate(form_id,email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms[form_id].elements[email].value;
   if(reg.test(address) == false) {
      alert('Invalid Email Address');
      return false;
   }
}

In the forms 'onsubmit' code call javascript:return validate('form_id','email_field_id')

<form id="form_id" method="post" action="action.php" onsubmit="javascript:return validate('form_id','email');">
   <input type="text" id="email" name="email" />
   <input type="submit" value="Submit" />
</form>

You should not rely purely on client side validation on your website / web application, if the user has javascript disabled this will not work. Always validate on the server.

Tags: