zoukankan      html  css  js  c++  java
  • (转)网页表单验证代码的改进

     

    无意中找到了这么一个东西,请建一个空白的html页,输入以下代码:
    <input onkeyup="value=value.replace(/[^\d]/g,'')" >
    你会发现这是一个只能输入数字的自带正则验证的文本框,我左思右想这个应该是javascript的东西吧?
    可是找了一些javascript正则的文章好像不能这样用的,但上面的东西在ie6和firefox1.0里都能正确解析。
    有html或脚本高手谁能告诉我?
    这个东西好虽好,不过也有缺点,比如最大的毛病是键盘上的方向键失效了,用微软拼音2003输入则会把前面的数据清空。后来我尝试把onkeyup改成onChange,这下上面的问题都解决了,但验证只有在失去焦点的时候才会产生,不过,这个已经没关系了。
    现在做标单验证是不是轻松多了?
    再抄几个正则表达式,大家可以参考一下:
    只能输入数字和英文 /[\W]/g
    只能输入数字的 /[^\d]/g
    只能输入汉字的 /[^\u4E00-\u9FA5]/g

    例子: <input onChange="value=value.replace(/[^\d]/g,'')" >


    ------------------------------------------------------------
    巨寒~~刚写完就发现一个bug,就是input控件有记忆功能,连续输入两次相同的字符它就当没发生onChange
    不过还好,把它改成onBlur后一切正常,也就是失去焦点。
    正确的例子:<input onBlur="value=value.replace(/[^\d]/g,'')" >


  • 相关阅读:
    常用知识点集合
    LeetCode 66 Plus One
    LeetCode 88 Merge Sorted Array
    LeetCode 27 Remove Element
    LeetCode 26 Remove Duplicates from Sorted Array
    LeetCode 448 Find All Numbers Disappeared in an Array
    LeetCode 219 Contains Duplicate II
    LeetCode 118 Pascal's Triangle
    LeetCode 119 Pascal's Triangle II
    LeetCode 1 Two Sum
  • 原文地址:https://www.cnblogs.com/dagon007/p/191884.html
Copyright © 2011-2022 走看看