带警报的正则表达式名称测试

时间:2014-12-20 07:11:32

标签: javascript regex

如何测试文本框中的名称值并使用正则表达式来评估所有字符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();

1 个答案:

答案 0 :(得分:0)

你的正则表达式可以只是

var reName = /^[a-z]{0,12}$/i;

它目前所做的是在字符串的开头查找[A-Z]或在字符串的末尾查找[a-z]{0,12}。但那不是你想要的。如果你想要你的正则表达式,但正确的方式,你会想要

/^([A-Z]|[a-z]){0,12}$/

但这是一种矫枉过正,因为你可以使用i忽略大小写标志并使用正则表达式,我已经提到了。