Javascript 容许预先;正则表达式中的post空格

Javascript 容许预先;正则表达式中的post空格,javascript,jquery,regex,jquery-validate,Javascript,Jquery,Regex,Jquery Validate,这个电子邮件验证正则表达式(来自jquery.validate)工作得很好,不过我认为如果允许使用前空格和后空格,对用户来说会更容易一些。一旦我提交了表单,我就已经开始使用php了 valid = this.optional(element) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-

这个电子邮件验证正则表达式(来自jquery.validate)工作得很好,不过我认为如果允许使用前空格和后空格,对用户来说会更容易一些。一旦我提交了表单,我就已经开始使用php了

valid = this.optional(element) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value);
我尝试添加\s*但没有骰子

    valid = this.optional(element) || /\s*^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$\s*/.test(value);

如果要接受空白,\s*必须介于
^…$
-锚定之间:

valid = this.optional(element) || /^\s* (snipped) \s*$/.test(value);
或者,您可以在测试之前修剪()字符串

valid = this.optional(element) || /^ (snipped) $/.test(value.trim());

开头应该是
/^\s*
(不是
/\s*^
)-结尾应该是
\s*$/
(不是
$\s*/