我想检查变量的值是不是所有文本,例如,如果变量不等于text,则显示错误消息:
if ( ($(regname).match(/[^a-z ]/gi)) ) {
$('p.validfirstname').fadeIn(300);
}
我不知道怎么做,所以上面的代码可能不对。
答案 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。