- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想为所有包括非斜体字符的电子邮件地址编写正则表达式。
我试过了,但它返回错误
请尽快提供正确的解决方案
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript">
var em = XRegExp('^([\\p{L}+|\\p{N}*][@][\\p{L}+][.][\\p{L}+])$'); // Please help me to correct it
jQuery(function(){
jQuery('input').blur(function(){
console.log(jQuery(this).val());
console.log(em.test(jQuery('#t1').val()));
});
});
</script>
<title></title>
</head>
<body>
Enter Name: <input type="text" name="t1" id="t1" class="kcd">
</body>
</html>
最佳答案
虽然有更好的方法来确保您的电子邮件正则表达式有效(请参阅 @Tushar 的 comment ),但我想解释一下您的正则表达式的问题所在。
^([\\p{L}+|\\p{N}*][@][\\p{L}+][.][\\p{L}+] )$
包含格式不正确的字符类 [\\p{L}+|\\p{N}*]
和 [\\p{L}+]
。它们匹配其中定义的单个字符 - [\\p{L}+|\\p{N}*]
匹配 p
、{
、L
等和 [\\p{L}+]
匹配 p
、{
、L
、 或
+
。
如果您打算使用您的方法,您可能希望将正则表达式修复为
XRegExp('^[\\p{L}\\p{N}]+@\\p{L}+[.]\\p{L}+$')
详细信息:
^
- 字符串的开始[\\p{L}\\p{N}]+
- 一个或多个 Unicode 字母或数字@
- “at”符号\\p{L}+
- 一个或多个 Unicode 字母[.]
- 文字点\\p{L}+
- 同上。$
- 字符串结尾。关于javascript - 电子邮件地址的 XRegExp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39286442/
我搜索了 XRegExp 的 web site ,以及 GitHub readme 。那里唯一的示例加载 xregexp-all.js,这正是我不想做的,因为它加载了所有插件。在SO上搜索,我发现了这
我想为所有包括非斜体字符的电子邮件地址编写正则表达式。 我试过了,但它返回错误 请尽快提供正确的解决方案 var em = XRegExp('^([\\p{L}+|\\p{N}*][@]
我需要在 JavaScript 中使用正则表达式的 lookbehind,所以找到了 Simulating lookbehind in JavaScript (take 2) .另外,我发现作者 St
我想用规则验证字符串: 字符串必须至少包含一个字母 字符串只能包含那些符号(但不是必须的):' , - , ( , ) 如果字符串中存在一个符号,它还必须包含一个字母(至少一个第一个项目符号) 不允许
我的目标是替换所有不是破折号 (-) 或不是数字或不是字符串中任何语言的字母的字符。所有 #!()[] 以及所有其他符号都将替换为空字符串.所有出现的 - 也不应被替换。我为此使用了 XRegExp插
如果您使用 XRegExp 的 'x' 标志,则不清楚如何将文字 '#' 添加到搜索中。 The documentation似乎没有产生任何照明。 例如: > XRegExp("the # hey",
我想实现一种方法来获取一个开放跨度标签和它的关闭标签之间的所有内容。问题是有时我可以嵌套跨度,我想确保我的正则表达式不会停止它看到的第一个结束跨度。 要查看我的问题,请查看:Regex101 : ne
我下载了RequireJS单页应用sample 。在www/lib文件夹中,我放置了XRegExp源xregexp-all.js (版本2.0.0)。 在 www/app/main.js 中,我添加了
我想将 XRegExp 函数转换为纯 JavaScript RegExp。基本上所有非字母数字字符都将被替换为“_”,包括空格。 正文 这是示例文本 *\&^%$#@!~' 会像 这_is_a_sam
我的伪 CoffeeScript 代码: xre = require('xregexp').XRegExp bodyRe = xre( '\\*\\s(?.*)', 'img') xre.forE
我正在使用 XRegExp 来检查 unicode 正则表达式。除了 IE11 之外,它在我测试过的任何浏览器中都可以正常工作。 在我的脚本中,我定义了要检查的正则表达式: var unicodeWo
我觉得这将是一个愚蠢的问题,但我完全感到困惑。 我正在使用 Javascript 的 XRegExp 库生成一个正则表达式,该正则表达式匹配任何字母表中的任何单词,但不匹配带有数字、标点符号或特殊字符
所以我一直在尝试实现 p{L}我的 Angular 项目中的模式没有任何成功。我已经尝试过这个 npm package 并按如下方式设置我的变量(以多种方式): nameRegex = new Reg
我正在调查 Xregexp支持以字母开头的命名参数的表达式。这是我的表达: (?:d:|duration:)(?.*\S+).*(?:t:|title:)(?(?:.*\S+))(?:.*(?:(?:
这个问题在这里已经有了答案: What special characters must be escaped in regular expressions? (13 个答案) 关闭 4 年前。 我写
我正在尝试让这个名称验证正则表达式正常工作,但遇到了问题。我已经确保我有 regexp 的 unicode 插件,但它似乎不起作用。此正则表达式可与 php pcre 正则表达式配合使用。 XRegE
以下代码在我的两台不同计算机(Windows 7,Chrome 12.0.742.100)上的两个 chrome 中都会失败。 Test
我很难找出 XRegExp 中的正则表达式来接受 JavaScript 中的这些类型的要求: 接受所有 UTF-8 字符 单词之间允许有空格,但只能有 1 个空格,不能有多个空格。 允许所有符号,例如
我正在尝试检查给定的 UTF-8 字符串是否仅由字母组成。 我尝试了在这里找到的解决方案:Validating user's UTF-8 name in Javascript 给定字符串:Ciesio
我是一名优秀的程序员,十分优秀!