我有一个测试功能,当前可以在输入信用卡号时对其进行格式化和测试
我需要这样做,而不是使用document.getElementById("cc")我可以使用传递给函数的变量,该变量等于文本框的 id,并且仍然会更改文本框中的内容
<script>
Function ReplacingImage() {
var str = document.getElementById("cc").value;
var strTest = str.charAt(0);
switch(strTest) {
case "3":
document.getElementById("x").src="/common/cc-images/amex.png"
break;
case "4":
document.getElementById("x").src="/common/cc-images/visa.png"
break;
case "5":
document.getElementById("x").src="/common/cc-images/mastercard.png"
break;
case "6":
document.getElementById("x").src="/common/cc-images/discover.png"
break;
case "":
document.getElementById("x").src="/common/cc-images/none.png"
break;
default:
document.getElementById("x").src="/common/cc-images/invalid.png"
break;
}
var strNoSpace = str;
var i;
for(i = 0; i < (strNoSpace.length / "4"); i++) {
strNoSpace = strNoSpace.replace(" ", "");
}
var lastDig = strNoSpace.substring(strNoSpace.length - 1, strNoSpace.length);
if(isNaN(lastDig)) { document.getElementById("cc").value = str.substring(0, str.length - 1); }
if((strNoSpace.length > 16 && (strTest == "4" || strTest == "5" || strTest == "6")) || (strNoSpace.length > 15 && (strTest == "3"))) {
document.getElementById("cc").value = str.substring(0, str.length - 1);
} else if((strNoSpace.length == "15" && strTest == "3") || (strNoSpace.length == "16" && (strTest == "4" || strTest == "5" || strTest == "6"))) {
value = document.getElementById("cc").value;
if (/[^0-9-\s]+/.test(value)) {
document.getElementById("cc").style.color = "red";
炎炎设计
相关分类