我想创建一个输入框来输入一个人的私人输入详细信息,第一个字符必须是 A 或 E,其余字符可以是字母数字,并且不允许特殊字符。我需要验证没有人输入任何特殊字符并且第一个字符必须是 A 或 E(都必须在客户端检查)
谁能指导我如何进行
我想创建一个输入框来输入一个人的私人输入详细信息,第一个字符必须是 A 或 E,其余字符可以是字母数字,并且不允许特殊字符。我需要验证没有人输入任何特殊字符并且第一个字符必须是 A 或 E(都必须在客户端检查)
谁能指导我如何进行
查看使用 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();" />
如果这是唯一要验证的字段,我会用 js & regexp 编写我自己的字段,就像 Leonard Challis 写的那样(但在 keyup 事件上)。
如果网站上有很多字段,可能还有多个表单,我会考虑一个框架。这很好:http ://bassistance.de/jquery-plugins/jquery-plugin-validation/
如果您要使用那个,您可以为您的特殊需要编写一个自定义函数。http://docs.jquery.com/Plugins/Validation/Validator/addMethod#namemethodmessage
这听起来像是一项家庭作业(因为从“E”或“A”开始听起来很不自然),所以我建议首先决定对任务的解释。是否应该不区分大小写地解释“E”和“A”?“字母数字”究竟是什么意思?例如,“Σ”或“Я”或“١”是字母数字吗?如果目的是在客户端进行检查,您应该尝试在禁用 JavaScript 时使页面完全不起作用,还是应该尽可能只在客户端进行检查?(在后一种情况下,请考虑pattern
在 HTML 中使用该属性。在某些现代浏览器上,即使禁用了 JavaScript,也会导致执行检查。)