我想检查变量的值是否不是所有文本,例如,如果变量不等于文本,则显示错误消息:
if ( ($(regname).match(/[^a-z ]/gi)) ) {
$('p.validfirstname').fadeIn(300);
}
我不知道该怎么做,所以上面的代码可能是错误的。
它会是这样的:
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;
}
希望这可以帮助。
尝试这个
/^[A-Za-z]*$/.test(string);
如果您的字符串包含所有字母,则为 true,否则为 false。