2013-04-23 32 views
-2

我要检查,如果一个变量的值是不是所有的文字,例如,如果变量不等于文本,然后显示错误信息的验证:名和姓

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

我不是确定如何做到这一点,所以上面的代码可能是错误的。

+1

什么是'regname'? – tymeJV 2013-04-23 16:10:22

+0

一个变量,例如var regname =“Henry1” – user1937021 2013-04-23 16:13:31

+0

if regname =“Henry1”' - $(regname)'应该做什么?我想你只是想regname.match – 2013-04-23 16:17:11

回答

2

这将是这样的:

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


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

这是怎么回事假设寄存器名是输入域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; 
} 

希望这会有所帮助。

0

试试这个

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

如果字符串拥有所有的字母则为true,否则返回false。