Click to See Complete Forum and Search --> : Credit Card dates not validating?


q46ward
07-28-2006, 05:20 AM
For whatever reason I just cannot get the credit card dates to validate. Thanks in advance.

<html>
<head>
<script language="javascript" type="text/javascript">
function validateForm()
{
var msg = "";
if (validateMovie()==false)
{
msg = "Please select at least two premium movie services.\r\n";
}
if (validateNameAddressData()==false)
{
msg += "Name and address data must be entered.\r\n";
}
if (validateState()==false)
{
msg += "Please select a state.\r\n";
}
if (validateZip()==false)
{
msg += "The ZIP code is invalid.\r\n";
}
if (validateCreditNo()==false)
{
msg += "Your credit card number must be valid.\r\n";
}
if (validateEDExpiry()==false)
{
msg += "The credit card expiration must be this month/year or later.";
}
if (msg != "")
{
alert(msg);
return false;
}
else
{
if (confirm("Do you want to submit?") == true)
{
return true;
}
else
{
return false;
}
}
}
function validateNameAddressData()
{
var validData = (document.forms[0].FName.value.length != 0);
validData = validData && (document.forms[0].LName.value.length != 0);
validData = validData && (document.forms[0].Address.value.length != 0);
validData = validData && (document.forms[0].City.value.length != 0);
// add any others as needed.
return validData;
}
function validateZip()
{
var zip = document.forms[0].Zip.value;
var re = new RegExp("^[0-9]{5}-[0-9]{4}$");
var ret = re.exec(zip);
return (ret == zip);
}
function validateCreditNo()
{
var cardType = selectedCardType();
var rep = setCardTypePattern(cardType);
if (rep == "none")
{
alert("The Credit Card type was not recognized.");
return false;
}
else
{
var creditno = document.forms[0].CreditNo.value;
var re = new RegExp(rep);
var ret = re.exec(creditno);
return (ret == creditno);
}
}
function selectedCardType()
{
var cardType = document.forms[0].CardType;
for (i=0; i<=cardType.length - 1; i++)
{
if (cardType[i].checked)
{
return cardType[i].value;
break;
}
}
}
function setCardTypePattern(cardType)
{
var rep = "";
switch(cardType)
{
case "Visa":
rep = "^[4][0-9]{3}-[0-9]{4}-[0-9]{4}-[0-9]{4}$";
break;
case "Master Card":
rep = "^[5][0-9]{3}-[0-9]{4}-[0-9]{4}-[0-9]{4}$";
break;
case "American Express":
rep = "^[3][0-9]{3}-[0-9]{6}-[0-9]{5}$";
break;
default:
rep = "none";
}
return rep;
}
function validateMovie()
{
var counter = 0;
counter += (document.forms[0].HBO.checked) ? 1 : 0;
counter += (document.forms[0].Cinemax.checked) ? 1 : 0;
counter += (document.forms[0].Showtime.checked) ? 1 : 0;
return (counter >= 2);
}
function validateState()
{
var sel = document.forms[0].State;
var si = sel.selectedIndex;
var opt = sel.options[si];
var val = opt.value;
return (val != "");
}
function toggleTextBoxColor(tb, color)
{
tb.style.backgroundColor = color;
}
function movieChecked(chk)
{
if (chk.checked)
{
alert(chk.name + " is checked.");
}
else
{
alert(chk.name + " is unchecked.");
}
}
function validateEDExpiry()
{
// get date.
var today = new Date();
// get month
var month = document.forms[0].edmonth;
var selMonth = month.selectedIndex;
var mm = month.options[selMonth].value;
// get year
var year = document.forms[0].edyear;
var selYear = year.selectedIndex;
var yyyy = year.options[selYear].value;
// validate.
if (yyyy < today.getFullYear())
{
return false;
}
else
{
if (yyyy == today.getFullYear() && mm < today.getMonth() + 1)
{
return false;
}
else
{
return true;
}
}
}
</script>
<title>Kicking my Butt</title></head><body>
<form id="frmMain" method="post" onsubmit="return validateForm()" action="http://uop.johnhorstfamily.ws/formtarget.asp"><table border="3" bgcolor="#9999ff" style="width:90%;" cellpadding="1" cellspacing="0">
<tr><td colspan=2 align="center"><b>WEB 420</b></td></tr>
<tr><td style="width:20%" align="right" bgcolor="orange">First Name</td>
<td style="width:80%" bgcolor="orange"><input onblur="toggleTextBoxColor(this, '#ffffff');" style="WIDTH: 100%" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="FName"></td></tr>
<tr><td align="right" bgcolor="orange">Last Name</td><td style="width:80%" bgcolor="orange"><input onblur="toggleTextBoxColor(this, '#ffffff');" style="WIDTH: 100%" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="LName"></td></tr>
<tr><td align="right">Address</td>
<td><input onblur="toggleTextBoxColor(this, '#ffffff');" style="WIDTH: 100%" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="Address"></td></tr>
<tr><td align="right">City</td>
<td><input onblur="toggleTextBoxColor(this, '#ffffff');" style="WIDTH: 100%" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="City"></td></tr>
<tr><td align="right">State</td>
<td><select id="State" name="State">
<option value="" selected>-- Select State --</option>
<option value="Alabama">AL</option>
<option value="Alaska">AK</option>
<option value="Arizona">AZ</option>
<option value="Arkansas">AR</option>
<option value="California">CA</option></select></td></tr>
<tr><td align="right">Zip</td>
<td><input onblur="toggleTextBoxColor(this, '#ffffff');" style="width:15%" maxlength="10" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="Zip"></td></tr>
<tr><td align="right">Phone Number</td>
<td><input onblur="toggleTextBoxColor(this, '#ffffff');" style="width:15%" maxlength="10" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="Phono"></td></tr>
<tr><td align="right">Phone Extension</td>
<td><input onblur="toggleTextBoxColor(this, '#ffffff');" style="width:10%" maxlength="6" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="Ext"></td></tr>
<tr><td align="right">Date of Birth</td>
<td><input type="text" name="Date of Birth" value="MM/DD/YEAR" maxlength="10" onblur="toggleTextBoxColor(this, '#ffffff');" style="width:13%" onfocus="toggleTextBoxColor(this, '#ffff33');">
</td></tr><tr>
<td align="center">Credit Card Type</td>
<td align="left"><font face="courier" color="#535353" size="4">
<label for="Comments">Please select your type of credit card then enter the number below:</label></font><p>
<input type="radio" name="CardType" value="Visa" CHECKED> Visa<br>
<input type="radio" name="CardType" value="Master Card"> Master Card<br>
<input type="radio" name="CardType" value="American Express"> American Express<br>
<label for="Comments">Credit card number goes here:</label>
<input onblur="toggleTextBoxColor(this, '#ffffff');" maxlength="19" onfocus="toggleTextBoxColor(this, '#ffff33');" type="text" name="CreditNo"><br><tr>
<td align="center">Credit Card<br>Expiration Date</td>
<td>
<select id="edmonth" name="edmonth" size="5">
<option value="" selected>--Select Month--</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select id="edyear" name="edyear" size="5">
<option value="" selected>--Select Year--</option>
<option value="1">2006</option>
<option value="2">2007</option>
<option value="3">2008</option>
<option value="4">2009</option>
<option value="5">2010</option>
</select></td></tr>
<tr>
<td align="center">Premium Movie Services</td>
<td align="left">
<font face="courier" color="green" size="5">
<label for="Comments"> Please select your favorite<em> Premium Movie Service(s)</em>. Select as many options as you like:</label></font><p>
<input type="checkbox" id="HBO" name="MOVIE" value="HBO" checked />HBO<p>
<input type="checkbox" id="Cinemax" name="MOVIE" value="Cinemax" />Cinemax<p>
<input type="checkbox" id="Showtime" name="MOVIE" value="Showtime" />Showtime<br></td></tr>
<tr><td colspan=2 align="center">
<input type="submit" value="Submit" />
<input type="reset" value="Reset" />
</td></tr></table></form></body></html>

jetbrains
07-28-2006, 07:08 AM
Below article has a sample code about how to validate credit card
Javscript credit card validate (http://www.developerzone.biz/index.php?option=com_content&task=view&id=172&Itemid=45)