- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将一些正则表达式作为字符串存储在对象中,但收到上述错误消息。
我相信这是因为它们没有以/为前缀或以/为后缀 - 因为我将它们运行到一个新的 RegExp() 构造函数中,因为脚本允许用户定义 RegExp,所以我希望它们都是动态的。
var patterns = {
email: '^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$',
url: '[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)',
number: '^[-+]?[0-9]*\.?[0-9]+$',
empty: '^\\s*$'
};
var patterns = {
email: '/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/',
url: '/[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/',
number: '/^[-+]?[0-9]*\.?[0-9]+$',
empty: '/^\\s*$/'
};
new RegExp()
调用时他们肯定会这样做(例如):
var reg = new RegExp(patterns.empty);
/**
* reg = //^\\s*$//
*/
最佳答案
问题是反斜杠字符( \
)既用于转义字符串文字中的特殊字符(例如 \n
被解释为单个换行符,而 \\
被解释为单个反斜杠字符),它用于转义正则表达式中的特殊字符。
因此,当字符串文字用于正则表达式时,您需要正则表达式才能看到 \
,您需要转义反斜杠并包含 \\
在字符串文字中。具体来说,在 email
你需要\\.
而不是 \.
.例如。
email: '^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$'
/.../
而不是
'...'
(或
'/.../'
)。然后字符串文字转义不适用,并且您不需要加倍斜杠。例如。
email: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
new RegExp(patterns.email)
, 自
patterns.email
已经是一个 RegExp 对象。
关于javascript - JSHint "Bad or unnecessary escaping."双斜线开头/结尾重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23230440/
这个函数是通过 API 提供给我的: void GetTime(uint8_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t*, uint8_t* ); GetTim
晚上好, 我需要一些有关核心数据的帮助。我有两个实体,图像和相册(代码中的 ImageGroup),它们具有多对多关系。每个图像可以有多个相册,一个相册可以有多个图像。 在应用程序中,用户可以创建相册
我想从字符串中删除所有“不必要的”空格。具体来说: "a b c d" => "a b c d" // spaces between two words are left in " a b c d "
为了减少带宽,我试图去除不必要的空白。我所说的“不必要”指的是行首或行尾的任何垂直空格和水平空格,但如果它在 中则不是。标签。 虽然我对The Pony He Comes并不陌生,我相当确定一个完整
在 Perl 和 C++ 中可以选择通过定义来编写类方法定义类外的方法,从而避免额外的级别缩进。 当然那些语言是自由形式(与 Python 相比),因此您不需要严格地为每个添加缩进嵌套级别,但通常为了
我编写此代码是为了测试 BigDecimal 的运行情况,但发现 RoundingMode.UNNECESSARY 引发了异常。谁能解释一下为什么? public class TestRounding
显式编码拆箱已包装的原始数值。在Java5及以上的版本,拆箱是不必要的,可以安全地删除。那么 JDK5 到底做了啥? 自动装箱(auto-boxing)与自动拆箱(auto-unboxing) Jav
我的教授让我的类(class)制作一个神经网络来尝试预测乳腺癌是良性还是恶性。为此,我使用了 Breast Cancer Wisconsin (Diagnostic) Data Set . 作为这样做
使用 python 3.8.6 和 pylint 2.4.4,以下代码会产生 pylint 错误(或推荐) R1721: Unnecessary use of a comprehension (unn
以下 cython 脚本会导致比较有符号和无符号整数表达式警告。 %%cython # distutils: language = c++ from libcpp.vector cimport vec
有 3 个 React 组件,其中两个位于第一个组件内。第一个组件包含一些仅在第三个组件中使用的状态。当我使用回调更新第三个组件的状态时, react 还会更新第二个组件。但第二个组件没有变化。 为什
在我的应用程序中,如果我收到密码重置说明,我会使用如下网址访问服务器: /changepass?key=1231231231212312 在 Controller 中我有这样的代码: if (ty
我尝试用下一种方式比较整数(对于我来说,这很好): public void compareMayNull(Integer a, Integer b) { if ((a == null ? -1
在 C 中使用 qsort,我们传入一个比较函数,例如 int cmp(const void*, const void*); qsort 的原型(prototype)需要一个 int (* )(con
我正在尝试验证一个文本字段,但我收到以下正则表达式的错误。 if (!/^[a-zA-Z0-9\\\/\*+;&%?#@!^()_="\-:~`|[\]\{\}\s]*$/i.test(e.targe
我想使用 https ://和 非万维网。 网址总是。所以我在我的 htaccess 文件中使用了以下代码。但是我收到了来自 https://hstspreload.org 的警告 RewriteCo
这就是我想做的: 检查列表是否包含'something',如果为true =>删除它=>添加'anything'=>打印列表,否则=>添加'something'=>打印列表 List componen
我试图找到一种方法来自动启用/禁用Windows 7中的设置: 从类别 View : 控制面板\所有控制面板项目\轻松访问中心\使计算机更易于查看 从图标 View : 控制面板\所有控制面板项目\轻
我正在使用 firebug 1.9.2。它在控制台选项卡上有一个错误中断功能,每当我运行应用程序时,此功能都会中断我的应用程序加载,这有时更令人恼火,如何禁用它?? 最佳答案 在“清除”按钮的左侧,有
我正在使用 Ocsigen 框架迈出网络编程的第一步。我可以构建简单的应用程序,但我注意到 Ocsigen 会生成大量不必要的 JavaScript 代码。即使是 Hello world exampl
我是一名优秀的程序员,十分优秀!