验证信用卡号和选中的单选按钮javascript

验证信用卡号和选中的单选按钮javascript,javascript,Javascript,我有单选按钮radioVisa和radioMaster。如果选中了其中一个,我需要首先检查选择了哪一个,然后验证输入的卡号是否有效。我还需要确保只输入数字。。。。我不允许使用任何正则表达式技术。。。。如果检查了radioVisa,它似乎可以工作,但当我为radioMaster添加代码时,如果检查了,它就不能工作。。。。有人能告诉我我做错了什么吗 function isValidCardNumber(num, isVisa, isMaster){ var card = new Array();

我有单选按钮radioVisa和radioMaster。如果选中了其中一个,我需要首先检查选择了哪一个,然后验证输入的卡号是否有效。我还需要确保只输入数字。。。。我不允许使用任何正则表达式技术。。。。如果检查了radioVisa,它似乎可以工作,但当我为radioMaster添加代码时,如果检查了,它就不能工作。。。。有人能告诉我我做错了什么吗

function isValidCardNumber(num, isVisa, isMaster){
var card = new Array();

    if (document.getElementById('radioVisa').checked){
        card  = isVisa;
        }
         if (num[0] != '4' ||  num.length != 16 ){

                return false;
            } else {
                return true;

            } else if (document.getElementById('radioMaster').checked){
        card = isMaster;
        }

         if (num[0] != '51' || num[0] != '52' ||  num[0] != '53' ||
 num[0] != '54' || num[0] != '55' || num.length != 16 ){
            return false;
        } else {
            return true;
        }    
您不能合并所有这些数字。您需要单独指定


如果不存在,它将返回-1,否则返回索引

这个“num[0]!='51,52,53,54,55'”可能不会像你想象的那样工作,google javascript in_array()函数。谢谢你,但即使我这样做了,我仍然无法让它与正在检查的radioMaster一起工作。我实际上没有在线使用它。。。如果visa按钮被选中,它可以工作,但是当万事达卡按钮被选中时,没有任何事情发生,它保持为假……我用5412367986312465作为假卡号进行了测试……只是再次测试了它,如果我选中visa或万事达卡中的任何一个,那么两个卡中唯一显示为真的数字是以4开头的。。。所以,如果visa是4125963189643256,则返回true,如果我为万事达卡输入相同的数字,则返回true,而不是false。
    if (num[0] != '51' || num[0] != '52' ||  num[0] != '53' ||
     num[0] != '54' || num[0] != '55' || num.length != 16 )
 var numbers= ["51", "52", "53", "54",55];
var index = numbers.indexOf(num[0]);