JavaScript返回无效字符输入的错误消息
我想要一个只接受字母字符的文本框,我相信这是通过我在每次字符输入后调用的当前函数完成的。但是,当用户试图输入非字母字符时,我还想返回一条错误消息。有人能解释一下这个问题的可能解决办法吗 /* 输入母亲的婚前姓: 使用此功能:JavaScript返回无效字符输入的错误消息,javascript,error-handling,Javascript,Error Handling,我想要一个只接受字母字符的文本框,我相信这是通过我在每次字符输入后调用的当前函数完成的。但是,当用户试图输入非字母字符时,我还想返回一条错误消息。有人能解释一下这个问题的可能解决办法吗 /* 输入母亲的婚前姓: 使用此功能: function validateLetter() { var textInput = document.getElementById("maiden").value; var replacedInput = textInput.r
function validateLetter() {
var textInput = document.getElementById("maiden").value;
var replacedInput = textInput.replace(/[^A-Za-z]/g, "");
if(textInput != replacedInput)
alert("Error message");
document.getElementById("maiden").value = replacedInput;
}
function validateLetter() {
var textInput = document.getElementById("maiden").value;
if (!/^[a-zA-Z ]*$/.test(textInput)) {
// Return error message.
}
textInput = textInput.replace(/[^A-Za-z]/g, "");
document.getElementById("maiden").value = textInput;
}
并将输入元素更改为:
<input id="maiden" name="maiden" onkeyup="validateLetter();" />
变量textInput现在包含按键后的输入值。然后,该函数检查替换后的字符串是否与原始输入相同。假设字母字符为[A-Za-z],您可以使用RegExp函数检查输入是否仅为字母字符 当从textInput的开始^到结尾$时,此正则表达式返回true,其中[a-zA-Z]集合中只包含字符,且为空字符串 如果要在集合中包含空白,请执行以下操作:
/^[a-zA-Z ]*$/.test(textInput)
应用于validateLetter函数:
function validateLetter() {
var textInput = document.getElementById("maiden").value;
var replacedInput = textInput.replace(/[^A-Za-z]/g, "");
if(textInput != replacedInput)
alert("Error message");
document.getElementById("maiden").value = replacedInput;
}
function validateLetter() {
var textInput = document.getElementById("maiden").value;
if (!/^[a-zA-Z ]*$/.test(textInput)) {
// Return error message.
}
textInput = textInput.replace(/[^A-Za-z]/g, "");
document.getElementById("maiden").value = textInput;
}
这里有一个简单、天真的解决方案,至少对我们有用。它使用char-code值而不是regex,只允许用户键入shift、alt等控制字符,甚至只允许按alpha字符。如果按下无效字符,则显示错误消息 JS Fiddle链接: 工作示例和源代码如下: 变量utils={ validateLetter:函数事件{ var c0=48; var-cA=65; var-cZ=90; var feedback=document.getElementById'feedback'; var key=event.keyCode | | event.which; 如果key>cZ | | key