美文网首页
2019-02-19【绩效考核系统-day02】

2019-02-19【绩效考核系统-day02】

作者: _灵风y | 来源:发表于2019-02-19 17:16 被阅读0次

任务:

  • 基础字典维护中的被考核团队性质中添加或修改时,被考核团队性质名称特殊符号未做校验;
  • 指标库维护中的指标类型管理中添加或修改时,考核类型名称未做非法字符校验;
  • 指标库维护中的指标项管理中添加或修改时,指标项名称未做非法字符校验;

主要应用知识:

  • 正则验证,match()与test()函数的区别?
    test是RegExp的方法,参数是字符串,返回值是boolean类型。match是String的方法,参数是正则表达式,返回值是数组。
    案例:
 //判断日期类型是否为YYYY-MM-DD格式的类型    
 function IsDate(){     
      var str = document.getElementById('str').value.trim();    
      if(str.length!=0){    
          var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;     
          var r = str.match(reg);     
          if(r==null)    
         alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称!    
         }    
 }  
  //判断输入的字符是否为中文    
  function IsChinese()     
  {     
          var str = document.getElementById('str').value.trim();    
          if(str.length!=0){    
          reg=/^[\u0391-\uFFE5]+$/;    
          if(!reg.test(str)){    
              alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!    
          }    
         }    
 }    

解决办法:

  • 问题1:将alert窗口弹出的值放在输入框中显示:
    解决办法:不用alert弹出,当用户输入非法字符则重新输入

代码详情:

<input type="text" id="menuNameSerach" placeholder="指标类型名称"
                    onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" 
                    onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" 
                    oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')

在输入框中加入这三段代码,表示只能输入中文,英文,数字
其他更多校验请参考:JS控制文本框禁止输入特殊字符
onkeyup: 事件会在键盘按键被松开时发生;
onpaste:事件在用户向元素中粘贴文本时触发;
oncontextmenu:事件在元素中用户右击鼠标时触发并打开上下文菜单;

每日一句:跌倒,撞墙,一败涂地,都不用害怕,年轻叫你勇敢

karl-s-1376432-unsplash.jpg

相关文章

网友评论

      本文标题:2019-02-19【绩效考核系统-day02】

      本文链接:https://www.haomeiwen.com/subject/tspxyqtx.html