2014-11-03 41 views
0

我想验证窗体,当任何特殊字符或数字在文本框中按它应该触发错误作为警报。在使用事件按键的JavaScript中的文本框中的字母验证

<html> 
<head> 
<script> 
function demoMatchClick() { 

    var reg = new RegExp("[a-z]|[A-Z]"); 
    if (document.form.name.value.match(reg)) { 
    alert("Successful match"); 

    } else { 
    alert("Not a match"); 

    } 
} 
</script> 
</head> 
<body > 
    <form onSubmit="alert('submit')" name="form"> 
     <input type="text" name="name" value="name" onkeyup="demoMatchClick();"/> 
     <input type="submit" value="submit"/> 
    </form> 
</body> 
</html> 
+0

什么是你所面临的问题? – 2014-11-03 11:54:15

回答

0
<input type="text" name="name" value="name" pattern="[a-zA-Z]+" title="Letters only!"/> 

完成。 Demo

+0

@Niet Dar Absol你的建议很好,但他想要在onKeyPress事件上进行验证。 – Amy 2014-11-03 12:02:02

1

与此替换代码:

function demoMatchClick(inputtxt) { 
 
var letters = /^[A-Za-z]+$/; 
 
var val = inputtxt.value.replace(/\s/g, ''); 
 
    if (val.match(letters)) { 
 
    alert("Successful match"); 
 

 
    } else { 
 
    alert("Not a match"); 
 

 
    } 
 
}
<html> 
 
    <body > 
 
    <form onSubmit="alert('submit')" name="form"> 
 
     <input type="text" name="name" value="name" onkeyup="demoMatchClick(this);"/> 
 
     <input type="submit" value="submit"/> 
 
    </form> 
 
</body> 
 
</html>

+0

我不了解你,但如果因为手指滑落而弹出警告框,我会非常恼火。 – 2014-11-03 12:06:43

+0

我认为代码仅用于测试目的 – Amy 2014-11-03 12:09:28

+0

即便如此,您不应该阻止用户输入他们想要的内容。因为如果我滑倒,我会击退Backspace,然后有一个缺少有效输入的字符。 – 2014-11-03 12:12:00