-1

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

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

我不知道该怎么做,所以上面的代码可能是错误的。

4

2 回答 2

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;
}

希望这可以帮助。

于 2013-04-23T16:21:51.973 回答
0

尝试这个

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

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

于 2013-04-23T16:36:12.407 回答