如何限制用户在文本框中输入特殊字符和数字。我只想输入字母(键入/粘贴)。
给我示例 javascript 代码?
看看这个问题:Function to return only alpha-numeric characters from string?
这就是你所追求的:
$result = preg_replace("/[^a-zA-Z0-9]+/", "", $inputVar);
如果您在那之后将其插入数据库,请务必使用类似mysql_real_escape_string()
或准备好的语句。
仅依靠 Javascript 进行字符验证是一种非常糟糕的做法,因为 JS 很容易被禁用,并且并非在全球所有设备上都启用。
与其阻止某些字符的输入,不如在提交表单时验证值更加用户友好和有效。在此之前你真的不关心字段的值是什么,你也不需要对值的输入方式进行特殊处理。它可能被粘贴、拖动、自动输入、通过插件或脚本或其他方法输入。
一个简单的例子:
</script>
<form onsubmit="return validate(this);">
<input type="text" name="foo">
<input type="submit">
</form>
<script type="text/javascript">
function validate(form) {
var re = /^[a-z,A-Z]+$/i;
if (!re.test(form.foo.value)) {
alert('Please enter only letters from a to z');
return false;
}
}
</script>
你可以试试这个,我现在正在为我当前的项目使用这个
$(document).ready(function(){
/* Allow integers only in form input field with id #selector */
$('#selector').keyup(function () {
this.value = this.value.replace(/[^0-9\.]/g,'');
});
})
它也不允许复制粘贴,但缺点是右键单击然后粘贴
免责声明:我只是从互联网上找到的