Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改局部函数,以便全局使用_Javascript_Html - Fatal编程技术网

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==)