zoukankan      html  css  js  c++  java
  • js验证input输入框(字母,数字,符号,中文)

    界面上的字段验证,是找的网上的一个js-input验证,觉得挺不错的,分享给大家,但这个验证还是有瑕疵的,就是没有对应的友好提示,可能在客户体验的那方面就不是很好了。

    <h1>js验证输入框内容</h1>
    <br />
    <br />
    
    只能输入英文
    <input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'')">
    <br />
    <br />
    只能输入英文
    <input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-]/g,'')"
        onkeydown="fncKeyStop(event)" onpaste="return false"
        oncontextmenu="return false" />
    无法粘贴,右键不会弹出粘贴菜单
    <br />
    <br />
    只能输入数字:
    <input onkeyup="this.value=this.value.replace(/D/g,'')"
        onafterpaste="this.value=this.value.replace(/D/g,'')">
    <br />
    <br />
    只能输入数字,小数点:
    <input name="price" type="text"
        onkeyup="this.value=this.value.replace(/[^d.]/g,'')">
    <br />
    <br />
    只能输入数字,小数点,下划线:
    <input name="price" type="text"
       onkeyup="this.value=this.value.replace(/[^d._]/g,'')">
    <br />
    <br />
    只能输入英文和数字:
    <input onkeyup="this.value=this.value.replace(/[W]/g,'') "
        onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))">
    <br />
    <br />
    只能输入汉字:
    <input onkeyup="this.value=this.value.replace(/[^u4E00-u9FA5]/g,'')"
        onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))">
    <br />
    <br />
    禁止输入法输入:
    <input type="text" style="ime-mode: disabled">
    无法切换输入法
    <br />
    <br />
    只能输入中文、英文、数字、@符号和.符号:
    <input type="text"
        onkeyup="this.value=this.value.replace(/[^a-zA-0-9u4E00-u9FA5@.]/g,'')">
    <br />
    <br />
    不能为空:
    <input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">
    <br />
    <br />

    数字校验有个bug,希望大家这边注意一下,就是如果有input从后台获取的value值的话,上面的数字校验失效,下面贴出此情况下的处理方式

    <input id="lastyearwage" name="lastyearwage" type="text" class="input-text" value="${acheck.lastyearwage }" onkeyup="this.value=this.value.replace(/D/g,'')"  onafterpaste="this.value=this.value.replace(/D/g,'')"/>
    
    function keyPress() {    
         var keyCode = event.keyCode;    
         if ((keyCode >= 48 && keyCode <= 57))    
        {    
             event.returnValue = true;    
         } else {    
               event.returnValue = false;    
        }    
     }  

    纠正一下啊,上面的正则表达式也是可以的,下面的就当是不同的方法提供了,博主推荐大家还是尽量还是用正则表达式来验证,大家应该知道键盘验证并不是太好,而且代码量也有点多。

  • 相关阅读:
    【CITE】C# 如何 实现一个窗体和另一个窗体始终保持相对的位置
    【CITE】5个最优秀的Java和C#代码转换工具
    【EasyX】RGB to Gray
    【Problem solved】发现输入法都是仅桌面使用,无法输入中文时
    【Problem solved】 error C2665: “loadimage”: 2 个重载中没有一个可以转换所有参数类型
    Software Engineering Training in 2016 summer: snake
    hello world!
    数组名和指针
    取得一个给定的地址所存放的值,将给定值存放在给定地址
    搭建hadoop集群 单机版
  • 原文地址:https://www.cnblogs.com/zouyun/p/7833174.html
Copyright © 2011-2022 走看看