0

使用没有插件的 Jquery 进行表单验证,它们很容易使用。试图自学正则表达式并在墙上。

var email = $('#email').val();

// Validate email address

// Regular expression to match email address:
var emailReg = \S+@\S+;

if(email.match(emailReg)) {
    // Pass
}
else {
    // Fail
    $('#email').css("background","yellow");
    var counter2 = setTimeout("$('#email').css('background','white')", 3000);
    return false;
}

我知道这是世界上最简单的正则表达式,只是试图获得功能,稍后我会变得更复杂。

不断收到 SyntaxError: 非法字符 \S (here) +@S+

不明白为什么。已经搜索了这个站点并尝试了几十个总是出现控制台错误。

4

3 回答 3

1

在它周围添加/

var emailReg = /\S+@\S+/;
               ^       ^
于 2013-03-28T03:05:27.257 回答
0

您需要将正则表达式放在正斜杠中,如下所示:

var emailReg = /\S+@\S+/;

这样它就知道它是一个正则表达式对象,而不仅仅是随机运算符放在一起

你也可以这样做:

var emailReg = new RegExp("\S+@\S+");

如果您不只是编写静态正则表达式(例如,从用户输入获取正则表达式),此方法很有用

于 2013-03-28T03:07:02.627 回答
0

正则表达式在 js 中用正斜杠括起来。尝试 var emailReg = /\S+@\S+/;

于 2013-03-28T03:09:51.833 回答