JavaScript 正则表达式返回 0

标签 javascript regex

Javascript Regex Error

如您所见,电子邮件应该有效。无论我输入什么,z 都会返回 null。我完全使用了错误的语法吗?

如何让这个正则表达式返回 true? 谢谢!

function emailValidate() {
var x = document.forms["creation"]["emailCreation"].value;
var y = x.length;
var z = x.match(" /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/");
var_dump(z);
var_dump(x);

最佳答案

如果您实际上并不想要获得匹配项,而只是想测试电子邮件是否适合常规 express ,那么请使用 test RegExp 对象的方法并传递要测试的字符串。

var emailReg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

function emailValidate() {
    var x = document.forms["creation"]["emailCreation"].value;
    var y = x.length;
    var z = emailReg.test(x);
    alert(z);
    return z;
}
<form name="creation" onsubmit="return emailValidate()">
   <input name="emailCreation" type="email" />
   <input type="submit" />
</form>

关于JavaScript 正则表达式返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26436857/

相关文章:

javascript - react 状态如何运作?

php - 如何检查用户当前是否已登录并正在玩 Facebook 应用游戏

javascript - 使元素滚动更慢(视差)

java - 如何将 "not"与 java 正则表达式模式中的更多字符匹配?

regex - 如何在Emacs中修复 "stack overflow in regexp matcher"

cfml 中的正则表达式匹配大写的整个单词,后跟换行符

php - 正则表达式:去除非字母数字或标点符号

javascript - couchDB 的 GWT(或 javascript)库

regex - 从字符串中删除 HTML 的最佳方法是什么?

javascript - 如何在不发出新的http请求的情况下更改日期