2012-02-17 265 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'); 
    });