验证名字和姓氏

时间:2013-04-23 16:08:41

标签: jquery regex

我想检查变量的值是不是所有文本,例如,如果变量不等于text,则显示错误消息:

if   ( ($(regname).match(/[^a-z ]/gi)) ) {
                $('p.validfirstname').fadeIn(300);
}

我不知道怎么做,所以上面的代码可能不对。

2 个答案:

答案 0 :(得分:2)

这将是:

var matches = $(regname).val().match(/[^a-zA-Z]/g);


if(matches && matches.length > 0) {
// valid first name
}

这是基于regname是输入字段的CSS选择器的假设。如果它不是输入元素,请使用.text()而不是.val()。如果您不是从中获取值的HTML元素,则只需直接在.match()上调用regname

如果您将名字和姓氏都存储为单个字符串,那么在检查非字母字符之前split()可能更好。

function checkNames()
{
    var firstAndLast = $(regname).val().split(' ');
    var first = firstAndLast[0];
    var last = firstAndLast[1];

    if(checkName(first))
    {
  // valid first name
    }
    if(checkName(last))
    {
      // valid last name
    }
}

function checkName(name)
{
    var matches = $(regname).val().match(/[^a-zA-Z]/g);
    if(matches && matches.length > 0)
    {
        return true;
    } else return false;
}

希望这有帮助。

答案 1 :(得分:0)

试试这个

/^[A-Za-z]*$/.test(string);

如果您的字符串包含所有字母,则为true,否则为false。

相关问题