1

如何限制用户在文本框中输入特殊字符和数字。我只想输入字母(键入/粘贴)。

给我示例 javascript 代码?

4

3 回答 3

2

看看这个问题:Function to return only alpha-numeric characters from string?

这就是你所追求的:

$result = preg_replace("/[^a-zA-Z0-9]+/", "", $inputVar);

如果您在那之后将其插入数据库,请务必使用类似mysql_real_escape_string()或准备好的语句。

仅依靠 Javascript 进行字符验证是一种非常糟糕的做法,因为 JS 很容易被禁用,并且并非在全球所有设备上都启用。

于 2012-04-12T05:25:52.880 回答
1

与其阻止某些字符的输入,不如在提交表单时验证值更加用户友好和有效。在此之前你真的不关心字段的值是什么,你也不需要对值的输入方式进行特殊处理。它可能被粘贴、拖动、自动输入、通过插件或脚本或其他方法输入。

一个简单的例子:

</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>
于 2012-04-12T05:36:06.297 回答
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,'');
  });   
 })

它也不允许复制粘贴,但缺点是右键单击然后粘贴

免责声明:我只是从互联网上找到的

于 2012-04-12T05:45:16.757 回答