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

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

  • 相关阅读:
    较简单的date转化成格式化的timeString
    字符串截取的用法
    UIImageView的图片轮播属性
    label.lineBreakMode设置lable中文字过长时的显示格式,其中可以有末尾以省略号显示。
    UIImageView的contentMode属性
    iOS开发----关于导航条的研究
    iOS 开发对图片进行处理
    设置按钮中的图片的旋转,并且旋转之后不变形
    调整按钮的子控件titleLable和imageView的间距的属性和用法
    ios开发之--数据库开发
  • 原文地址:https://www.cnblogs.com/zouyun/p/7833174.html
Copyright © 2011-2022 走看看