在Javascript中仅验证a-z和a-z字符
我试图让我的javascript文件验证输入名称。我有一个正则表达式,用于设置为/^[a-Za-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
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,就很容易发现问题。