Javascript 更改局部函数,以便全局使用
我有一个测试功能,目前格式和测试的信用卡号码,因为它是输入 我需要这样做,而不是使用Javascript 更改局部函数,以便全局使用,javascript,html,Javascript,Html,我有一个测试功能,目前格式和测试的信用卡号码,因为它是输入 我需要这样做,而不是使用document.getElementById(“cc”)我可以使用传递给函数的变量,该变量等于文本框的id,并且仍然会更改文本框中的内容 <script> Function ReplacingImage() { var str = document.getElementById("cc").value; var strTest = str.charAt(0); switch(
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";
}
let nCheck = 0, bEven = false;
value = value.replace(/\D/g, "");
for (var n = value.length - 1; n >= 0; n--) {
var cDigit = value.charAt(n),
nDigit = parseInt(cDigit, 10);
if (bEven && (nDigit *= 2) > 9) nDigit -= 9;
nCheck += nDigit;
bEven = !bEven;
}
if((nCheck % 10) != 0) {
document.getElementById("cc").style.color = "red";
}
else {
document.getElementById("cc").style.color = "green";
}
} else {
document.getElementById("cc").style.color = "black";
}
if(strNoSpace.length > 15 && (strTest == "3")) { document.getElementById("cc").value = str.substring(0, str.length - 1); }
if(!isNaN(lastDig) && strNoSpace.length != "0" && (strNoSpace.length %
"4") == "0" && strNoSpace.length < "16" && event.keyCode != "8") {
document.getElementById("cc").value += " ";
}
}
</script>
函数ReplacingImage(){
var str=document.getElementById(“cc”).value;
var strTest=str.charAt(0);
开关(strTest){
案例“3”:
document.getElementById(“x”).src=“/common/cc images/amex.png”
打破
案例“4”:
document.getElementById(“x”).src=“/common/cc images/visa.png”
打破
案例“5”:
document.getElementById(“x”).src=“/common/cc images/mastercard.png”
打破
案例“6”:
document.getElementById(“x”).src=“/common/cc images/discover.png”
打破
案例“”:
document.getElementById(“x”).src=“/common/cc images/none.png”
打破
违约:
document.getElementById(“x”).src=“/common/cc images/invalid.png”
打破
}
var-strNoSpace=str;
var i;
对于(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);}
如果((strNoSpace.length>16&&(strTest==“4”| | strTest==“5”| | strTest==“6”))|(strNoSpace.length>15&(strTest==“3”)){
document.getElementById(“cc”).value=str.substring(0,str.length-1);
}否则如果((strNoSpace.length==“15”和&strTest==“3”)| |(strNoSpace.length==“16”和&(strTest==“4”| | strTest==“5”| | strTest==“6”)){
value=document.getElementById(“cc”).value;
如果(/[^0-9-\s]+/.test(值)){
document.getElementById(“cc”).style.color=“红色”;
}
设nCheck=0,bEven=false;
值=值。替换(/\D/g,“”);
对于(var n=value.length-1;n>=0;n--){
var cDigit=值。字符(n),
nDigit=parseInt(cDigit,10);
如果(bEven&&(nDigit*=2)>9)nDigit-=9;
nCheck+=nDigit;
贝文=!贝文;
}
如果((n检查%10)!=0){
document.getElementById(“cc”).style.color=“红色”;
}
否则{
document.getElementById(“cc”).style.color=“绿色”;
}
}否则{
document.getElementById(“cc”).style.color=“黑色”;
}
如果(strNoSpace.length>15&(strTest==“3”){document.getElementById(“cc”).value=str.substring(0,str.length-1);}
如果(!isNaN(lastDig)&&strNoSpace.length!=“0”&&(strNoSpace.length%)
“4”)=“0”和&strNoSpace.length<“16”和&event.keyCode!=“8”){
document.getElementById(“cc”).value+=“”;
}
}
此函数由如下文本框的onkeyup调用
<input type="text" onkeyup="ReplacingImage()" title="CC of Customer" id="cc" name="cc" placeholder="###"/>
function replaccingimage(id){
console.log(id);
var str=document.getElementById(id).value;
var strTest=str.charAt(0);
console.log(str);
开关(strTest){
案例“3”:
document.getElementById(“x”).src=“/common/cc images/amex.png”
打破
案例“4”:
document.getElementById(“x”).src=“/common/cc images/visa.png”
打破
案例“5”:
document.getElementById(“x”).src=“/common/cc images/mastercard.png”
打破
案例“6”:
document.getElementById(“x”).src=“/common/cc images/discover.png”
打破
案例“”:
document.getElementById(“x”).src=“/common/cc images/none.png”
打破
违约:
document.getElementById(“x”).src=“/common/cc images/invalid.png”
打破
}
var-strNoSpace=str;
var i;
对于(i=0;i<(strNoSpace.length/“4”);i++){
strNoSpace=strNoSpace.replace(“,”);
}
var lastDig=strNoSpace.substring(strNoSpace.length-1,strNoSpace.length);
if(isNaN(lastDig)){document.getElementById(id”).value=str.substring(0,str.length-1);}
如果((strNoSpace.length>16&&(strTest==“4”| | strTest==“5”| | strTest==“6”))|(strNoSpace.length>15&(strTest==“3”)){
document.getElementById(id).value=str.substring(0,str.length-1);
}否则如果((strNoSpace.length==“15”和&strTest==“3”)| |(strNoSpace.length==“16”和&(strTest==“4”| | strTest==“5”| | strTest==“6”)){
value=document.getElementById(id“).value;
如果(/[^0-9-\s]+/.test(值)){
document.getElementById(id“).style.color=“红色”;
}
设nCheck=0,bEven=false;
值=值。替换(/\D/g,“”);
对于(var n=value.length-1;n>=0;n--){
var cDigit=值。字符(n),
nDigit=parseInt(cDigit,10);
如果(bEven&&(nDigit*=2)>9)nDigit-=9;
nCheck+=nDigit;
贝文=!贝文;
}
如果((n检查%10)!=0){
document.getElementById(id“).style.color=“红色”;
}
否则{
document.getElementById(id).style.color=“绿色”;
}
}否则{
document.getElementById(id).style.color=“黑色”;
}
如果(strNoSpace.length>15&&(strTest==)