0

我想创建一个输入框来输入一个人的私人输入详细信息,第一个字符必须是 A 或 E,其余字符可以是字母数字,并且不允许特殊字符。我需要验证没有人输入任何特殊字符并且第一个字符必须是 A 或 E(都必须在客户端检查)

谁能指导我如何进行

4

3 回答 3

2

查看使用 JavaScript 的正则表达式以及keydown事件。您可以将函数附加到 keydown 事件,并在此函数内检查输入框匹配,然后按您的意愿继续。

像这样的东西:(未测试)

<script>
function checkInput() {
  var inputToCheck = document.getElementById('my_input');
  if (!inputToCheck.value.match(/[AE]\w+/)) {
    // do something here, like alert them or remove special characters with .replace
  }
}
</script>

<input id="my_input" onkeydown="checkInput();" />
于 2012-04-17T11:17:49.463 回答
0

如果这是唯一要验证的字段,我会用 js & regexp 编写我自己的字段,就像 Leonard Challis 写的那样(但在 keyup 事件上)。

如果网站上有很多字段,可能还有多个表单,我会考虑一个框架。这很好:http ://bassistance.de/jquery-plugins/jquery-plugin-validation/

如果您要使用那个,您可以为您的特殊需要编写一个自定义函数。http://docs.jquery.com/Plugins/Validation/Validator/addMethod#namemethodmessage

于 2012-04-17T11:33:33.450 回答
0

这听起来像是一项家庭作业(因为从“E”或“A”开始听起来很不自然),所以我建议首先决定对任务的解释。是否应该不区分大小写地解释“E”和“A”?“字母数字”究竟是什么意思?例如,“Σ”或“Я”或“١”是字母数字吗?如果目的是在客户端进行检查,您应该尝试在禁用 JavaScript 时使页面完全不起作用,还是应该尽可能只在客户端进行检查?(在后一种情况下,请考虑pattern在 HTML 中使用该属性。在某些现代浏览器上,即使禁用了 JavaScript,也会导致执行检查。)

于 2012-04-17T12:25:52.927 回答