input输入正则校验

<!DOCTYPE html>
<html>
<head>
    <title>input输入校验</title>
</head>
<body>
    <div>
        <input onkeyup="this.value=this.value.replace(/[\W]/g,'')" onafterpaste="this.value=this.value.replace(/[\W]/g,'')" maxlength="18" placeholder="请输入"/>
    </div>
 
    <div>
        <h2>只能输入英文</h2>
        <p>/[^a-zA-Z]/g,''</p>
        <p>/[^\a-\z\A-\Z]/g,''</p>
    </div>
 
    <div>
        <h2>只能输入数字</h2>
        <p>/\D/g,''</p>
    </div>
 
    <div>
        <h2>只能输入数字,小数点</h2>
        <p>/[^\d\.]/g,''</p>
    </div>
 
    <div>
        <h2>只能输入数字,小数点,下划线</h2>
        <p>/[^\d\._]/g,''</p>
    </div>
 
    <div>
        <h2>只能输入英文和数字</h2>
        <p>/[\W]/g,''</p>
    </div>
 
    <div>
        <h2>只能输入汉字</h2>
        <p>/[^\u4E00-\u9FA5]/g,''</p>
    </div>
 
    <div>
        <h2>只能输入中文、英文、数字、@符号和.符号</h2>
        <p>/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,''</p>
    </div>
 
    <div>
        <h2>不能为空</h2>
        <p>/^ +| +$/g,'')==''</p>
    </div>
 
    <div>
        <h2>大于0的正整数(不包括0)</h2>
        <p>/^\+?[1-9]\d*$/</p>
    </div>
 
    <div>
        <h2>正整数和0(包括0)</h2>
        <p>/^[1-9]\d*|0$/</p>
    </div>
 
    <div>
        <h2>最多2位小数(非负)</h2>
        <p>/\d+(\.\d{0,2})?/</p>
    </div>
 
    <div>
        <h2>只能中文和数字</h2>
        <p>/[^\w\u4E00-\u9FA5]/g</p>
    </div>
 
    <div>
        <h2>百分比0-100</h2>
        <p>
            <el-input v-model="ruleForm.handlingFeeRate" oninput="value=value.replace(/[^\d.]/g, '').replace(/(^\.|[^\d\.])/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.').replace(/^\d{3,}.*/,'100');"></el-input> %

</p>
    </div>
</body>
</html>
 
<script type="text/javascript">
    不能为空 
    <input οnblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">
 
    只能输入英文和数字
    <input οnblur="if(/[^0-9a-zA-Z]/g.test(value))alert('有错')">
    <input οnkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')"/>
    <input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">
 
    判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 
    /^([a-zA-z_]{1})([\w]*)$/g.test(str)
 
    只能输入数字
    <input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(/\D/g,'')" onafterpaste="value=value.replace(/\D/g,'')" >
 
    只能输入中文
    <input type="text" οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
 
    只能输入英文
    <input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
    <input type="text" οnkeyup="value=value.replace(/[^a-zA-Z]/g,'')">
 
    只能输入中文、英文、数字、@符号和.符号
    <input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">
 
    只允许输入英文,且不能粘贴也无法弹出粘贴菜单
    <input type="text" οnkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" οnkeydοwn="fncKeyStop(event)" οnpaste="return false" oncontextmenu = "return false"/>
 
    只能输入数字和点号(注意:在[^\d\.]里的d不能写成大写D,否则就变成除了数字以外的所有字符)
    <input name="price" type="text" size="8" maxlength="8" οnkeyup="value=value.replace(/[^\d\.]/g,'')" >
 
    总而言之:先在<input>里输入οnkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g,'')里的X换成你想输入的代码就可以了
 
    中文:u4E00-u9FA5
    数字:d、0-9
    英文:a-z、A-Z
    其它符号@,点或其它符号.也可以多个,用\隔开就行了.
    例如:
    中、英文和数字加@符号加点符号:\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.
 
    若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话就要在<input>里输入 onKeyDown="fncKeyStop(event)" οnpaste="return false" οncοntextmenu="return false;"
</script>
 
 
 
<script type="text/javascript">
     
<input v-model="legalIdCard" maxlength="18" placeholder="请输入"/>
 
watch: {
        legalIdCard(val) { // input校验 -- 只能输入数字0-9
            var pattern = /^[0-9x]+$/;
            if (!pattern.test(val)) {
                this.legalIdCard = ''
            }
        },
        contactPhone(val) { // input校验 -- 只能输入数字0-9和-
            var pattern = /^[0-9-]+$/;
            if (!pattern.test(val)) {
                this.contactPhone = ''
            }
        },
        bankAccount(val) { // input校验 -- 只能输入字母
            var pattern = /^[A-Za-z]+$/;
            console.log(pattern.test(val));
            if (!pattern.test(val)) {
                this.bankAccount = ''
            }
        },
    },
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容