0

我有两个要匹配的字段。(已经完成了字段 1 和 2 的验证功能)

field01 有一个客户编号 Txxxxx xxxxx(可以是 TG 或 M)

field02 的区号为 416 / 905 / 647

我想将 T 与 416 匹配,将 G 与 905 匹配,将 M 与 647 匹配。如果规则被破坏,则显示关系错误。

我做了一个单独的函数来比较两者。

     function validatecompare(errMessages)
   {

       var clientID = document.pizza.field02;
       var telenum = document.pizza.field03;

       var client = clientID.value;
       var phone  = telenum.value;
       var firstL = "";
       var areaC  = "";


firstL=client.substr(0,1);
areaC =phone.substr(0,3);


     if ((firstL) !=areaC)
       {
          errMessages += "<li>Client Number and Telephone No. are not consistent with our set up rules.</li>\n";
       }


     return errMessages;

 }

我知道那是错误的,我只是不知道如何比较来自两个单独函数的两个字段。无论我做什么,都会弹出错误消息。即使我违反了字段 1 和 2 的规则,错误消息也会在不应该出现的情况下弹出。

如果在某个地方我可以阅读有关如何执行此操作的信息,那将非常适合将来参考。

任何帮助将不胜感激,谢谢。

4

1 回答 1

2

您实际上是在比较416and T。您需要某种查找表:

function validatecompare(errMessages) {
    var clientID = document.pizza.field02;
    var telenum  = document.pizza.field03;

    var client = clientID.value;
    var phone  = telenum.value;
    var firstL = client.charAt(0);
    var areaC  = phone.substr(0, 3);

    var areaCodes = {
        '416': 'T',
        '905': 'G',
        '647': 'M'
    };

    if(firstL !== areaCodes[areaC]) {
        errMessages += "<li>Client Number and Telephone No. are not consistent with our set up rules.</li>\n";
    }

    return errMessages;
}
于 2012-04-08T01:21:34.980 回答