用于验证字母的Javascript

mpe*_*n18 1 html javascript regex string validation

我似乎无法弄清楚如何让这个脚本验证只输入字母.因此,如果输入了数字,则应返回错误.

HTML

<form name="myForm" action="demo_form.asp"
onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
Run Code Online (Sandbox Code Playgroud)

javascipt的

<script>
function validateForm() {
    var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "") {
        alert("First name must be filled out");
        return false;
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

Ric*_*ton 6

这可能最好用HTML5的新pattern属性完成.但是,它在Safari或Internet Explorer 9-中不起作用.

来自Mozilla开发者网络

一个正则表达式,用于检查控件的值.模式必须匹配整个值,而不仅仅是某个子集.使用title属性来描述帮助用户的模式.当type属性的值为text,search,tel,url,email或password时,此属性适用; 否则会被忽略.正则表达式语言与JavaScript相同.图案未被正斜杠包围.

<form action="demo_form.asp">
  Username: <input type="text" name="username" 
  pattern="[A-Za-z]+" title="Your username">
  <input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

对于石器时代的浏览器,只需使用正则表达式.

if (!/^[a-z]+$/i).test(exp)) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

说明

^$字符信号,该字符串应该既开头和结尾字母

+修正表明我们正在寻找一个或多个这样的信件.

最后,i引发不区分大小写的标志以指示它可以是大写或小写.