输入检测的诡异问题--firefox和ie的兼容性
生活随笔
收集整理的這篇文章主要介紹了
输入检测的诡异问题--firefox和ie的兼容性
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近被firefox和ie的兼容性搞的很不爽,因?yàn)橐郧皼]做過(guò)firefox下的東東,都是做出產(chǎn)品來(lái),然后告訴客戶說(shuō)你必須用***瀏覽器,否則不支持....呵呵,現(xiàn)在客戶是上帝了,必須考慮各種情況。
今天遇到了一個(gè)非常怪的事情:在一個(gè)表單提交之前,有兩個(gè)輸入需要檢查,一個(gè)是email地址,另一個(gè)是意見輸入框,下面是兩段檢測(cè)代碼:
????????function?isEmail(s)
????????{
????????????var?patrn=/(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
????????????if?(!patrn.test(s))?
????????????return?false;
????????????return?true;
????????}
????????
????????function?trimStr(str)?{?
????????????var?re?=?/\s*(\S[^\0]*\S)\s*/;?
????????????re.exec(str);?
????????????return?RegExp.$1;?
????????}//trim函數(shù)
//=========================下面是放在另一函數(shù)中的檢測(cè)部分
????????????if?(document.frmTest.txb_email.value!='')
????????????{
????????????????if?(!isEmail(document.frmTest.txb_email.value))
????????????????{
????????????????????alert('請(qǐng)您輸入正確的Email地址。');
????????????????????return?false;
????????????????}????????????????
????????????}
????????????else
????????????{
??????????????alert('請(qǐng)輸入您的Email地址!');
??????????????return?false;
????????????}
????????????
????????????if?(trimStr(document.frmTest.txb_content.value)=='')
????????????{
????????????????alert('請(qǐng)輸入您的意見!');
????????????????return?false;
????????????} 這樣寫執(zhí)行時(shí)不執(zhí)行if?(trimStr(document.frmTest.txb_content.value)=='')這一句,如果把if?(trimStr(document.frmTest.txb_content.value)=='')這句放到檢測(cè)email之前,則執(zhí)行。非常郁悶,后來(lái)發(fā)現(xiàn)是trimStr()函數(shù)寫的不對(duì),但是單獨(dú)用這個(gè)函數(shù)是沒問(wèn)題的,真是奇怪。
后來(lái)zhaoyukai換了個(gè)trim函數(shù)就解決了,換為:
String.prototype.trim=function(){return?this.replace(/(^\s*)|(\s*$)/g,"");}//String.prototype用處比較多,應(yīng)該查查,tag下 目前仍然不清楚原因......
今天遇到了一個(gè)非常怪的事情:在一個(gè)表單提交之前,有兩個(gè)輸入需要檢查,一個(gè)是email地址,另一個(gè)是意見輸入框,下面是兩段檢測(cè)代碼:
????????function?isEmail(s)
????????{
????????????var?patrn=/(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
????????????if?(!patrn.test(s))?
????????????return?false;
????????????return?true;
????????}
????????
????????function?trimStr(str)?{?
????????????var?re?=?/\s*(\S[^\0]*\S)\s*/;?
????????????re.exec(str);?
????????????return?RegExp.$1;?
????????}//trim函數(shù)
//=========================下面是放在另一函數(shù)中的檢測(cè)部分
????????????if?(document.frmTest.txb_email.value!='')
????????????{
????????????????if?(!isEmail(document.frmTest.txb_email.value))
????????????????{
????????????????????alert('請(qǐng)您輸入正確的Email地址。');
????????????????????return?false;
????????????????}????????????????
????????????}
????????????else
????????????{
??????????????alert('請(qǐng)輸入您的Email地址!');
??????????????return?false;
????????????}
????????????
????????????if?(trimStr(document.frmTest.txb_content.value)=='')
????????????{
????????????????alert('請(qǐng)輸入您的意見!');
????????????????return?false;
????????????} 這樣寫執(zhí)行時(shí)不執(zhí)行if?(trimStr(document.frmTest.txb_content.value)=='')這一句,如果把if?(trimStr(document.frmTest.txb_content.value)=='')這句放到檢測(cè)email之前,則執(zhí)行。非常郁悶,后來(lái)發(fā)現(xiàn)是trimStr()函數(shù)寫的不對(duì),但是單獨(dú)用這個(gè)函數(shù)是沒問(wèn)題的,真是奇怪。
后來(lái)zhaoyukai換了個(gè)trim函數(shù)就解決了,換為:
String.prototype.trim=function(){return?this.replace(/(^\s*)|(\s*$)/g,"");}//String.prototype用處比較多,應(yīng)該查查,tag下 目前仍然不清楚原因......
總結(jié)
以上是生活随笔為你收集整理的输入检测的诡异问题--firefox和ie的兼容性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网站中人性化提示信息的JavaScrip
- 下一篇: sql定位行的问题