我有两个我想要匹配的字段。 (已经完成了字段1和2的验证功能)
field01的客户编号为Txxxxx xxxxx(可以是T G或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的规则,也会弹出错误消息,不应该出现错误消息。
如果有某个地方我可以阅读如何做到这一点将是非常好的,以备将来参考。
非常感谢任何帮助,谢谢。
答案 0 :(得分:2)
您确实在比较416
和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;
}