正则表达式、字母数字和jQuery

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

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

如果我输入字符@或#,会起作用吗?对我来说这是有效的,但我认为这可能是不正确的...为什么它不能正常工作?

根据代码规范,$val 看起来像是一个 jQuery 对象。不要将其包装在另一个 $ 对象中。 - Rob W
@Robw:我猜你是指$input?但是没错,我同意。 - Chris
2个回答

9

您缺少一个开括号 {

将您的if ... else语句更改为:

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

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

http://jsfiddle.net/Bp6fg/


0

使用长度为5-10的正则表达式匹配包含字母数字的jQuery字符串 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');
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接