最近被firefox和ie的兼容性搞的很不爽,因为以前没做过firefox下的东东,都是做出产品来,然后告诉客户说你必须用***浏览器,否则不支持....呵呵,现在客户是上帝了,必须考虑各种情况。
今天遇到了一个非常怪的事情:在一个表单提交之前,有两个输入需要检查,一个是email地址,另一个是意见输入框,下面是两段检测代码:

        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函数
//=========================下面是放在另一函数中的检测部分
            if (document.frmTest.txb_email.value!='')
            {
                if (!isEmail(document.frmTest.txb_email.value))
                {
                    alert('请您输入正确的Email地址。');
                    return false;
                }                
            }
            else
            {
              alert('请输入您的Email地址!');
              return false;
            }
            
            if (trimStr(document.frmTest.txb_content.value)=='')
            {
                alert('请输入您的意见!');
                return false;
            }

这样写执行时不执行if (trimStr(document.frmTest.txb_content.value)=='')这一句,如果把if (trimStr(document.frmTest.txb_content.value)=='')这句放到检测email之前,则执行。非常郁闷,后来发现是trimStr()函数写的不对,但是单独用这个函数是没问题的,真是奇怪。
后来zhaoyukai换了个trim函数就解决了,换为:

String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");}//String.prototype用处比较多,应该查查,tag下

目前仍然不清楚原因......

输入检测的诡异问题--firefox和ie的兼容性相关推荐

  1. 45. GameProject9+输入检测

    游戏项目第9部分:增加输入系统        该游戏项目将添加对引擎和主菜单的支持.引擎项目中出现的三个新文件分别是InputInterface.h.DirectInput.h和DirectInput ...

  2. Arduino 按键输入检测,消抖示例程序

    Arduino 按键输入检测,消抖示例程序 在按键未做输入信号检测的硬件时,避免不了需要对其进行消抖处理,消抖方法可以时硬件消抖或者软件消抖.物理消抖的办法有:在按键旁边并联一个电容的电路,来消抖或者 ...

  3. sse——6位密码输入检测

    //6位密码输入检测 //从键盘输入6位仅由数字0~9组成的密码.用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码: ...

  4. 【野火启明_瑞萨RA6M5】按键输入检测

    文章目录 一.GPIO输入--按键输入检测 二.硬件设计 三.软件设计 下载验证 一.GPIO输入--按键输入检测 按键检测原理 按键机械触点断开.闭合时,由于触点的弹性作用,按键开关不会马上稳定接通 ...

  5. iframe在ie和firefox中的高度兼容性问题解决

    iframe在ie和firefox中的高度兼容性问题解决 参考文章: (1)iframe在ie和firefox中的高度兼容性问题解决 (2)https://www.cnblogs.com/haore1 ...

  6. 编辑距离 在输入检测中的应用

    在office中输错了单词,office会在单词下方用红色波浪线标出来,你右击它,在菜单中会提示正确的单词拼法:在翻译词典中输入单词时拼错了某个字母,词典会智能的提示你可能想输入的单词. 其实这里用到 ...

  7. HAL库教程3:引脚输入检测

    使用CubeMX配置输入引脚   本章我们要把按键作为输入源,使用单片机来检测引脚的电平状态.首先要查看原理图,按键与那些引脚相连.   我使用的板子,按键K2 -K5分别对应PA4-PA7,且按键按 ...

  8. 开关量输入检测与输出的电路设计(转)

    问题由来: 两个板子之间要通过开关量通信,比如,我这个板子发现你那个板子是高电平,我就怎么样:我给你输出一个高电平,你那边的板子就怎么样.就是这么一个开关量通信的问题. 主要问题是:低电平肯定都是0, ...

  9. 汇编——十六进制输入转换十进制输出(附加输入检测)

    题目描述 输入一个最大长度为4的十六进制数,将其转换成10进制输出. 其中我们需要检测十六进制输入的正确性,比如大小写.特殊字符和数字的判断. 解决方式 程序分为两个部分,首先是处理我们的输入,以及通 ...

最新文章

  1. linux shell命令分布执行,Linux学习笔记:bash特性之多命令执行,shell脚本
  2. Java通过几种经典的算法来实现数组排序
  3. dw替换多个html标签,DW查找替换的技巧
  4. 中柏平板u盘启动_中柏电脑如何设置BIOS U盘启动
  5. oracle有人用过fra吗,FRA(闪回恢复区)
  6. StudyTonight 中文系列教程【翻译完成】
  7. 语音识别中的CTC算法的基本原理解释
  8. 每个程序员都必须搞懂的抽象类和接口的含义以及区别
  9. 深入浅出WPF之我件2
  10. CSS进阶(15)—— CSS世界的层叠规则(上)
  11. 通信原理第三章:窄带随机过程
  12. Sat Sep 25 07:38:46 Local time zone must be set--see zic manual page 2021
  13. 快学scala第二版笔记
  14. 理解 Linux 网络栈:Linux 网络协议栈简单总结
  15. NO PAPER COWBOYS【翻译】
  16. widget窗口小部件
  17. Kangle一键升级ENT商业版本
  18. MySQL常用工具选择和建议
  19. 用Python实现Flickr照片文本数据下载入库及图片保存(第一次帮忙)
  20. 关于Android 开发常用软件的快捷键总结

热门文章

  1. Docker 集群 图形化显示 Visualizer
  2. Windows PE导出表编程3(暴力覆盖导出函数)
  3. 【Android Gradle 插件】Extension 扩展类型 ( Module 引入插件类型 | application 插件 | library 插件 | Variants 变体列表 )
  4. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | 类加载器构造函数分析 | DexPathList 引入 )
  5. 【C 语言】文件操作 ( 按照单个字符的方式读写文件 | fgetc 函数 | fputc 函数 )
  6. 【C 语言】数组 ( 数组类型表达 | 定义数组类型 )
  7. 【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )
  8. 【运筹学】单纯形法总结 ( 单纯形法原理 | 单纯形法流程 | 单纯形表 | 计算检验数 | 最优解判定 | 入基变量 | 出基变量 | 方程组同解变换 ) ★★★
  9. 【计算机网络】计算机网络 OSI 参考模型 与 TCP/IP 参考模型 对比
  10. 【Netty】Netty 核心组件 ( ServerBootstrap | Bootstrap )