我是一個完整的Javascript初學者,我真的被困在我的任務。我必須讓用戶輸入信用卡詳細信息並使用Javascript驗證它們。這是我的問題。當你不選擇任何東西(這是我想要它做的)如何使用Javascript驗證信用卡到期日期?
的付款方式返回false,但我已經用類似的代碼爲到期月份和年份,並且在這兩個可以返回true即使你沒有做出選擇,我也希望它們返回false。
到期日驗證我真的不知道該怎麼做。它只能接受今天日期之後的日期。我有點想出一些應該在理論上有用的東西,但沒有。有沒有簡單的事情(記住我是初學者!),我可以添加或更改它會使它工作?
有一個信用卡號碼驗證腳本的問題(需要16個數字),但莫名其妙似乎並不奏效。
我的Javascript和html都在下面。
感謝您的幫助!
最好的問候,
格雷格
JAVASCRIPT
function validateForm()
{
var firstName=document.getElementById("firstName");
var lastName=document.getElementById("lastName");
var email=document.getElementById("email");
var postcode=document.getElementById("postcode");
var paymentType=document.getElementById("paymentType");
var exMonth=document.getElementById("exMonth").value;
var exYear=document.getElementById("exYear").value;
var cardNumber=document.getElementById("cardNumber").value;
var date = new Date();
var month = date.getMonth();
var year = date.getFullYear();
if (firstName.value===""){
alert("Please enter your first name");
firstName.focus();
return false;
}
if (lastName.value===""){
alert("Please enter your last name");
lastName.focus();
return false;
}
if (email.value.indexOf(".") == -1 || email.value.indexOf("@")== -1) {
alert("Please include a valid email address");
email.focus();
return false;
}
if (postcode.value.length!=4 || isNaN(postcode.value)){
alert("Please enter 4 numbers for your postcode");
postcode.focus();
return false;
}
if (paymentType.selectedIndex === 0){
alert("Please select payment type");
return false;
}
if (exMonth.selectedIndex === 0){
alert("Please select the month");
return false;
}
if (exYear.selectedIndex === 0){
alert("Please select the year");
return false;
}
if (year> exYear || (year === exYear && month >= exMonth)){
alert("The expiry date is before today's date. Please select a valid expiry date");
return false;
}
if (cardNumber.value.length!=16 || isNaN(cardNumber.value)){
alert("Please enter 16 numbers for your credit card");
cardNumber.focus();
return false;
}
alert("Thank you for your submission");
return true;
}
HTML
<form name="myForm" autocomplete="on" onsubmit="return validateForm()">
<p><label>First name (required) <input type="text" id="firstName"
autofocus="autofocus" /> </label></p>
<p><label>Last name (required) <input type="text" id="lastName"/> </label></p>
<p> Email address (required)
<input type="text" id="email" /> </p>
<p> Postcode (required)
<input type="text" id="postcode"/> </p>
<p> Payment type (required)
<select id="paymentType" title="Choose a payment type">
<option value="0">Select a payment option</option>
<option value="visa">VISA</option>
<option value="master">Mastercard</option>
<option value="amer">American Express</option>
</select>
</p>
<p> Expiry date (required)
<select id="exMonth" title="select a month">
<option value="0">Enter month</option>
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<select id="exYear" title="select a year">
<option value="0">Enter year</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
<option value="2026">2026</option>
<option value="2027">2027</option>
<option value="2028">2028</option>
<option value="2029">2029</option>
<option value="2030">2030</option>
<option value="2031">2031</option>
</select>
</p>
<p><label>Credit card number (required) <input type="text" id="cardNumber"/> </label></p>
<div id="centreimg">
<input type="submit" name="S1" value="Submit response" />
<input type="reset" name="reset" value="Clear form" />
</div>
</form>
記住的JavaScript應在加密網站來使用(如不是http HTTPS。,),或者你在大麻煩了,當人們「嗅你的店鋪的數據線」。 – 2014-11-21 06:04:36
好點,謝謝! :-) – 2014-11-22 08:58:20