当前字符JavaScript的RegExp
RegExp for current character JavaScript
在允许将字符输入表单字段之前,我正在尝试验证字符,以确保它是一个字母(而不是数字、符号等)。如何使用JavaScript实现这一点?
这是我尝试过的东西:
<script type="text/javascript">
function checkTest() {
var letterValue = document.forms[0].test.value;
var letterCheck = /[a-z]/i;
var letterTest = letterValue.test(letterCheck);
}
</script>
<html>
<body>
<form>
<input type="text" name="test" onkeypress="checkTest();"/>
</form>
</body>
</html>
此代码将检查值的字符串。我试过使用var letterLeng= letterValue.length
,然后使用var letterChar = letterValue.charAt(letterLeng)
,甚至使用var letterChar = letterValue.charAt(letterLeng - 1)
,但都无济于事。任何建议都将不胜感激。
向事件询问按下的键,然后测试它:
function checkTest(event) {
event = event || window.event;
if (!/[A-Za-z]/.test(String.fromCharCode(event.keyCode || event.which))) {
if (event.preventDefault)
event.preventDefault();
else
event.returnValue = false;
}
}
<input type="text" name="test" onkeypress="checkTest(event);"/>
我喜欢Alex K的答案,但我无法让"onkeypress"处理程序工作,所以我尝试了使用Jquery的方法。它并不能阻止坏字母的短暂出现,但它确实阻止了它们的输入。
它使用了"keyup"事件,这实际上使在这种情况下检查密钥代码变得更容易,因为你想将其限制在[a-zA-Z]
$("#myinput").on("keyup", function (e) {
// Ignore the shift key.
if (e.keyCode === 16) {
return true;
}
if ((e.keyCode < 65 || e.keyCode > 90)) {
var str = $("#myinput").val();
$("#myinput").val(str.slice(0, str.length - 1));
}
});
工作小提琴在这里:http://jsfiddle.net/yaa9snce/
您要查找的是onkeypress
事件。
<input type="text" onkeypress="myFunction()">
<script>
function myFunction() {
alert("You pressed a key inside the input field");
}
</script>
相关文章:
- RegExp:匹配Javascript中除regex值之外的所有内容
- JavaScript正则表达式文本与RegExp对象
- javascript RegExp的奇怪行为:相同的正则表达式会产生不同的结果
- 替换为javascript中的regExp
- Javascript Regexp-不接受空格,但应该接受
- javascript中换行的regexp
- 带有多个修饰符的JavaScript RegExp
- RegExp javascript匹配任何单词
- Regexp javascript and replace
- Regexp JavaScript中的大文本
- Regexp Javascript replacing
- angularjs过滤器中的regexp javascript
- RegExp, JavaScript:在指定字符处中断字符串,对其进行编码,并将其插入到相同的位置
- RegExp JavaScript错误测试
- RegExp Javascript十六进制颜色的光和暗
- 我怎么能把[](方括号)在RegExp javascript
- 用某些字符替换regExp (Javascript)
- RegExp javascript替换所有不起作用
- Regexp Javascript多个匹配项和多个分隔符
- 由DOS创建的CSV不在我的Regexp javascript上工作