• 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;    
        }    
     }  

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

  • 相关阅读:
    蛇形填数
    开灯问题
    水仙花数
    C++Primer笔记-----day02
    C++Primer笔记-----day01
    面试智力题
    maven 打包197
    子系统 安装vsftpd197
    office 安装破解197
    oracle 创建多个数据库197
  • 原文地址:https://www.cnblogs.com/zouyun/p/7833174.html
Copyright © 2020-2023  润新知