2012-02-17 150 views
4
var regx = /^[A-Za-z0-9 _.-]+$/; 

if(regx.test($($input).val())) 
    alert ("correct"); 
else 
    alert('Incorrect!'); 
} 

如果我在输入中输入字符@或#的作品?对我来说这个工程,但我认为这一定是不正确的...正则表达式字母数字jquery

为什么不能正常工作?

+0

根据代码惯例,'$ val'看起来像一个jQuery对象。不要将它包装在另一个'$'对象中。 – 2012-02-17 15:46:35

+0

@Robw:我假设你的意思是$ input?但是,我同意。 – Chris 2012-02-17 16:10:18

回答

9

你错过了开括号{

更改if ... else声明:

var regx = /^[A-Za-z0-9 _.-]+$/; 

if (regx.test('#sdfgsdfg')) 
    alert("correct"); // alerts 
else 
    alert('Incorrect!');​ 

http://jsfiddle.net/Bp6fg/

+0

感谢它确实有效 – hyperrjas 2012-02-17 15:48:18

0

正则表达式的字母数字jQuery的长度为5-10 VAR至REGx =/^([ a-zA-Z0-9 _.-]){3,10} $/

$('#txtSearchIn').keyup(function() { 
     if (regx.test(this.value)) 
      $('#lblErrorMsg').val(''); 
     else 
      $('#lblErrorMsg').val('text should be alphanumeric as well as max length 5-10 charater'); 
    });