我猜測的問題是在visacard函數中,我設置它,所以如果卡號輸入文本的長度是!=到16(卡號的長度),它會提醒並說無效。但問題是,即使長度等於16還在說無效Javascript:表單驗證?
<body>
<script type="text/javascript">
function fun(){
var ddl = document.getElementById("cardtype");
var selectedValue = ddl.options[ddl.selectedIndex].value;
if (selectedValue == "cardtype1"){
alert("Please select card type");
}
}
function visacard(){
var ffl = document.getElementById("cardtype");
var words = parseFloat(document.getElementById("ccn").value);
var selectedVisa = ffl.options[ffl.selectedIndex].value;
var fin = words.length;
if (selectedVisa == "visa" && words.length != 16){
alert("Invalid card number, Try again");
}
}
</script>
<select id="cardtype">
<option value="cardtype1"> - Card Type - </option>
<option value="visa">Visa</option>
<option value="amex">Amex</option>
<option value="mastercard">Mastercard</option>
</select>
<p>Credit Card Number <input type="text" id="ccn"/></p>
<p>CVV <input type="text" id="cvv"/></p>
<select name="DOBMonth">
<option> - Month - </option>
<option value="January">January</option>
<option value="Febuary">Febuary</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
<select name="DOBYear">
<option> - Year - </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>
</select>
<input type="button" onClick="fun();visacard();" value="click here">
</body>
</html>
我認爲你正在尋找HTML5表單驗證,它使用正則表達式來處理粒狀情況。 –
根據[維基百科](https://en.wikipedia.org/wiki/Payment_card_number)信用卡號碼可以長達19位數字,對於Visa,他們可以是13,16或19.我建議您搜索「 javascript驗證信用卡號碼「,並查看一些使用的可靠方法,而不是使用長度。 –
您是否有理由自己接受信用卡信息?你有銀行的商戶賬戶來處理你收到的卡嗎?可以爲您節省大量的工作,以便與支付網關進行註冊並重新接入。讓他們處理安全和處理。只要給他們你的模板要求。 –