如何测试文本框中的名称值并使用正则表达式来评估所有字符a-z,A-Z,并且使用警告框不能超过12个字符?
function validateName()
{
var character = getName();
var reName = /^[A-Z]|[a-z]{0,12}$/;
if (reName.test(character)) {
alert("Valid Name ");
} else {
alert("Invalid Name ");
}
return character;
};
function getName()
//var getName = function(box)
{
var name = document.getElementById("aName").value;
return name;
};
document.getElementById("output").innerHTML = "Name" + validateName();
答案 0 :(得分:0)
你的正则表达式可以只是
var reName = /^[a-z]{0,12}$/i;
它目前所做的是在字符串的开头查找[A-Z]
或在字符串的末尾查找[a-z]{0,12}
。但那不是你想要的。如果你想要你的正则表达式,但正确的方式,你会想要
/^([A-Z]|[a-z]){0,12}$/
但这是一种矫枉过正,因为你可以使用i
忽略大小写标志并使用正则表达式,我已经提到了。