求助帖 关于“无法获取未定义或 null 引用的属性“charCodeAt””
雪浪东陵 2014-05-19 04:00:11 function validateEmailAddress(fieldName, selector) {
var mail = $(selector).val();
mail = ""+mail;
var maillen = mail.length;
var dotCnt = 0;
var atCnt = 0;
if( maillen === 0)
return {valid:false, msg:mkElem("p", {}, fieldName + " is mandatory field")};
var fstChar = mail.slice(0,1);
if(fstChar ==='.' || fstChar === '@' || fstChar === '-')
return{ valid:false, msg:mkElem("p", {}, fstChar +" is not allowed as first character")};
if(mail.slice(-1) === '.' )
return{ valid:false, msg:mkElem("p", {}, ". is not allowed as last character")};
for(var loopCnt = 0; loopCnt < maillen; loopCnt++) {
var Char = mail[loopCnt];
var charInt = mail[loopCnt].charCodeAt(0);
if(!((charInt >=64 && charInt <= 90) || (charInt >= 97 && charInt <= 122) || ( charInt ===45) || ( charInt === 46 ) || (charInt >= 48 && charInt <= 58)))
return {valid:false, msg:mkElem("p", {}, "Please enter valid emailId")};
if(Char ==='@')
atCnt++;
if (Char === '.'){
dotCnt ++;
if(mail[loopCnt + 1] === '.')
return {valid:false, msg:mkElem("p", {}, "Please enter valid emailId")};
}
}//for loop end
if(!(atCnt === 1 && dotCnt >= 1 && dotCnt <= 3 ))
return {valid:false, msg:mkElem("p", {}, "Please enter valid emailId")};
return{valid:true};
}
这是一个处理函数,报错在红色字体部分。我实在想不明白,是哪里出问题了。关于“无法获取未定义或 null 引用的属性“charCodeAt””这个错误
只在IE浏览器上出现,在goole chrome 和firefox上都没有。这是浏览器的兼容性问题?还是代码逻辑问题?我感觉逻辑没有问题的。
有遇到过类似问题的吗?给点建议。谢谢。