Javascript 仅检查字母的正则表达式

Javascript 仅检查字母的正则表达式,javascript,html,regex,forms,validation,Javascript,Html,Regex,Forms,Validation,我试图实现仅对字母表的形式验证,但此正则表达式似乎不起作用 function check() { var reg="/^[a-zA-Z]*$/"; var x = document.forms['frm'].name.value; var y= document.forms['frm'].email.value; if( x === ""){ alert('Name field cant be empty'); $("#nameone

我试图实现仅对字母表的形式验证,但此正则表达式似乎不起作用

 function check() {
      var reg="/^[a-zA-Z]*$/";
    var x = document.forms['frm'].name.value;
    var y=  document.forms['frm'].email.value;

    if( x === ""){
     alert('Name field cant be empty');
     $("#nameone").focus();
      return false;
    }
    else if (!reg.match(x)){
      alert('NAME must contain alphabets only');
      return false;
    }

    else if( y === ""){
     alert('Email  field cant be empty');
     $("#emailone").focus();
      return false;
    }



    else {
      return true;
    }
    }
这是我的表格,我已经添加了详细信息,输入字段


您可以使用

string.match("^[a-zA-Z]+$$");
如果字符串仅包含字母,则为true,否则为false,而不是

var reg = "/^[a-zA-Z]*$/"; // produces a **string**
您应该省略周围的引号:

var reg = /^[a-zA-Z]*$/;  // produces a **Regex object**
第二种使用javascript内联正则表达式语法,斜杠用作分隔符

此外,您可以使用简单的
.test()
函数检查字符串是否符合正则表达式

演示:

var reg=/^[a-zA-Z]*$/;
控制台日志(注册测试(“ABcd”);

控制台日志(注册测试(“123”)在这种情况下,您的代码不起作用,因为您的正则表达式在以下行中设置为字符串:


var reg=“/^[a-zA-Z]*$/”
尝试使用
reg.test()
而不是
reg.match()
这似乎对我不起作用<代码>var reg=“/^[a-zA-Z]*$/”这将创建一个字符串而不是正则表达式,您需要执行
var reg=/^[a-zA-Z]*$/
然后使用
x.match(reg)
您的表单中不应该有一些实际的项目吗?或者这只是一个显示所用属性的简化版本?显然,这是一个简化版本,让我添加细节。我不认为“performatic”是一个词;你的意思是“高效”吗?我的意思是“高效”。方法test只检查字符串match check,将字符串拆分以返回匹配的值。您可以在这里查看一个我在任何字典中都找不到定义为“performatic”的基准(wiktionary未能定义它),并且“”(不要与“effect”混淆)似乎与您的定义所指出的优势相匹配:不浪费资源做无用或过于复杂的事情。请注意,我不是以英语为母语的人,所以我很可能会感到困惑。或者它可能是一个当地的习语,我想应该避免使用。
var reg = /^[a-zA-Z]*$/;  // produces a **Regex object**