Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中仅验证a-z和a-z字符_Javascript_Regex - Fatal编程技术网

在Javascript中仅验证a-z和a-z字符

在Javascript中仅验证a-z和a-z字符,javascript,regex,Javascript,Regex,我试图让我的javascript文件验证输入名称。我有一个正则表达式,用于设置为/^[a-Za-z]+$/的允许字符 但是,每当函数验证字符时,它根本不显示任何内容。我一直在遵循这个例子,但它仍然不起作用。这是我的密码: function validateForm(){ message = validateName(); window.alert(message); } function validateName(){ name = document.forms["supp

我试图让我的javascript文件验证输入名称。我有一个正则表达式,用于设置为/^[a-Za-z]+$/的允许字符

但是,每当函数验证字符时,它根本不显示任何内容。我一直在遵循这个例子,但它仍然不起作用。这是我的密码:

function validateForm(){
   message = validateName();
   window.alert(message);
}

function validateName(){
    name = document.forms["supportForm"]["name"].value;
    allowedChars = /^[A-Za-z]+$/;
    if(name.value.match(allowedChars))
    {
        error = "You're Cool!";
        alert(error);
    }
}

非常感谢您的帮助

引用已引用属性的变量时,无需再次引用该属性

该属性值在document.forms[supportForm][name]中被引用;在ifname.value.matchallowedChars中

正确的处理方法是:

function validateForm(){
   message = validateName();
   window.alert(message);
}

function validateName(){
    name = document.forms["supportForm"]["name"].value;
    allowedChars = /^[A-Za-z]+$/;
    if(name.match(allowedChars))
    {
        error = "You're Cool!";
        alert(error);
    }
}
var名称已经是文档的定义值。表单[supportForm][name]。值; 然后使用name.value,这没有意义。当您试图在变量中获取子值时。相反,您需要name.matchallowedChars 另外,我建议您使用console.log来测试您的输入以进行错误修复

function validateForm(){
   message = validateName();
   window.alert(message);
}

function validateName() {
    name = document.forms["supportForm"]["name"].value;
    console.log(name); //So you know it's picking up the value
    allowedChars = /^[A-Za-z]+$/;
    if(name.match(allowedChars)) {
        error = "You're Cool!";
        alert(error);
    }
}

allowedChars.TestName您是否错误地获取了两次值?首先在名称赋值中,然后在if?name=input.value,name.value中。我认为有太多的价值观。三次被否决——这是一个由仇恨者组成的社区,而不是仇恨者,仅仅是遵循这个问题没有显示任何研究成果的指导方针的人。研究工作肯定包括调试。在这种情况下,只需在name=行停止程序并检查name,然后在if行再次停止程序并检查name.value,就很容易发现问题。