繁体   English   中英

如何使用正则表达式将表单输入限制为特定字符?

[英]How can I restrict form input to specific characters with a regex?

我为用户制作了一个正则表达式,只允许输入这些字符。 如果用户写例如'@'它不应该允许它,但是在我的代码中如果用户按下@而不是按下选项卡,'@'仍然保留在那里。

 function onlyAlphabet(inputVal) { var patt = /^[a-zA-Z.123456789]+$/; if (patt.test(inputVal)) { document.getElementById('facebook').value = inputVal; } else { var txt = inputVal.slice(0, -1); document.getElementById('facebook').value = txt; } }
 <div class="form-group mb-3"> <label for="exampleFormControlTextarea1" class="fw-bold my-1 fs-7" id="text-color1">Facebook</label> <input type="text" placeholder="Facebook" onkeypress="onlyAlphabet(value)" id="facebook" class="form-control" name="facebook" value="<?php echo $row['facebook']?>" style="padding-left: 0;important: border; none: border-bottom; 1px solid #E8E8E8: border-radius; 0 !important;"> </div>

您应该添加onchange="onlyAlphabet(value)"onblur="onlyAlphabet(value)"以确保在任何情况下都会调用它

必须设置 oninput 而不是 onkeypress

您可以使用以下 3 种方式中的任何一种来做到这一点 -

    1. onChange="onlyAlphabet(value)" - 当输入值改变时
    1. onKeyUp="onlyAlphabet(value)" - 或 onKeyDown,当一个键被释放/按下时
    1. onBlur="onlyAlphabet(value)" - 当焦点离开输入...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM