电话号码前缀验证/JavaScript出现问题

电话号码前缀验证/JavaScript出现问题,javascript,validation,Javascript,Validation,我已通过验证按前缀检查电话号码。 然而,当我调用该函数时,第二个循环中的某些内容似乎失败了。 我怀疑in与otherPrefix有关 这是我的密码: function PhoneN(Phone) { var number = document.getElementById(Phone).value; var zero = 0; var prefix = ["0", "2", "3", "4", "8", "9"]; var otherPrefix = ["|",

我已通过验证按前缀检查电话号码。
然而,当我调用该函数时,第二个循环中的某些内容似乎失败了。
我怀疑in与
otherPrefix
有关

这是我的密码:

function PhoneN(Phone)
{
    var number = document.getElementById(Phone).value;
    var zero = 0;
    var prefix = ["0", "2", "3", "4", "8", "9"];
    var otherPrefix = ["|", "7|7", "7|3", "7|4", "7|2", "7|8"];
    var boolian = false;
    var PrefixHolder;
    var PrefixHolder2;
    if(number.charAt(0) == zero)
    {
        for(var i = 1; i < prefix.length; i++)
        {
            if(prefix[i] == number.charAt(1))
                boolian = true;
        }
    }
    if(number.charAt(0) == zero)
    {
        for(var cut in otherPrefix)
        {
            var position = otherPrefix[cut].split("|");
            PrefixHolder.value = position[0];
            PrefixHolder2.value = position[1];
            if(number.charAt(1) == PrefixHolder.value && number.charAt(2) == PrefixHolder2.value)
                boolian = true;
        }
        if(boolian == false)
            alert("The Prefix number is invalid");
    }
}
功能电话(电话)
{
var number=document.getElementById(Phone).value;
var 0=0;
变量前缀=[“0”、“2”、“3”、“4”、“8”、“9”];
var otherPrefix=[“|”、“7 | 7”、“7 | 3”、“7 | 4”、“7 | 2”、“7 | 8”];
var boolian=假;
var前缀;
变量前缀2;
如果(数字字符(0)=零)
{
对于(变量i=1;i
如果您的代码之前没有失败,那么它最晚将在此处失败:

PrefixHolder.value = position[0];
PrefixHolder2.value = position[1];
这是因为
PrefixHolder
PrefixHolder2
都是
未定义的
(您声明了它们,但从未初始化它们),尝试访问
未定义的
的属性是错误的

而且,对我来说,这似乎是一个不必要的复杂问题。有没有什么特别的原因让你不把它们完全排除在外,然后像这样检查:

if(number.charAt(1) == position[0] && number.charAt(2) == position[1])

“但内部循环中的某些内容出错了”出了什么问题?例如,我想我写了一些关于它的内容,将再次检查我输入的文本。循环已执行,但循环内的某些内容出错。请检查浏览器控制台中的错误解决方案将该行标记为错误:PrefixHolder.value=position[0];我不太明白为什么,我的意思是我把它分开,然后把它放在位置内,然后把位置值分开,一个在位置0,一个在位置1,我理解的概念错了吗?是的,是的,我怎么看不到lol,不,只是因为我被甩了,谢谢你,我的朋友,我现在要试试看。谢谢你们,伙计,这个功能像怀疑的一样工作。再次谢谢你们,我现在去升级条件,所以不是所有的条件都会无缘无故地执行。