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