Javascript 正则表达式:需要两个正则表达式的 AND 组合
Javascript Regex: Need something like AND combination of two Regex
我需要一个可以检查两件事的正则表达式:
- 字符串不包含特殊字符,例如 -
'"}{
- 字符串末尾不包含反斜杠
\
。
我可以像下面这样分别为它们形成一个正则表达式:
对于 1) /^[^'"}{]$/
- 这将确保括号内的字符不会出现在字符串中的任何位置。
对于 2) /[\\]$/
- 这将确保字符串不以反斜杠结尾。
我有一个任务不能有两个正则表达式,我只需要一个正则表达式。我希望同时检查正则表达式。据我所知,'|'符号用作 OR 运算符。有没有一种方法可以只使用一个正则表达式来检查这两个条件?
更新:
这是一个仍然使用 Backbone JS 的旧应用程序,我使用正则表达式的代码类似于以下内容:
schema :{
userPass : {
title: i18n['user.password'],
type: "Password",
validators: ['required', {type: "regexp", regexp: /^[^'"}{]{1,24}$/, message: i18n['user.pass.notvalid']}]}
现在,有一个新要求不允许仅在末尾使用反斜杠 \
。它可以在开头或中间。
并尝试 /^(?!.*['"}{])(?!.*\$)/
如果至少有 1 个字符,请尝试 /^(?!.*['"}{])(?!.*\$)./
您可以使用
/^(?!.*\$)[^'"}{]{1,24}$/
它匹配:
^
- 字符串开头
(?!.*\$)
- 字符串末尾不允许 \
[^'"}{]{1,24}
- 除了 '
、"
、{
和 }
之外的 1 到 24 个字符
$
- 字符串结尾。
我需要一个可以检查两件事的正则表达式:
- 字符串不包含特殊字符,例如 -
'"}{
- 字符串末尾不包含反斜杠
\
。
我可以像下面这样分别为它们形成一个正则表达式:
对于 1) /^[^'"}{]$/
- 这将确保括号内的字符不会出现在字符串中的任何位置。
对于 2) /[\\]$/
- 这将确保字符串不以反斜杠结尾。
我有一个任务不能有两个正则表达式,我只需要一个正则表达式。我希望同时检查正则表达式。据我所知,'|'符号用作 OR 运算符。有没有一种方法可以只使用一个正则表达式来检查这两个条件?
更新:
这是一个仍然使用 Backbone JS 的旧应用程序,我使用正则表达式的代码类似于以下内容:
schema :{
userPass : {
title: i18n['user.password'],
type: "Password",
validators: ['required', {type: "regexp", regexp: /^[^'"}{]{1,24}$/, message: i18n['user.pass.notvalid']}]}
现在,有一个新要求不允许仅在末尾使用反斜杠 \
。它可以在开头或中间。
并尝试 /^(?!.*['"}{])(?!.*\$)/
如果至少有 1 个字符,请尝试 /^(?!.*['"}{])(?!.*\$)./
您可以使用
/^(?!.*\$)[^'"}{]{1,24}$/
它匹配:
^
- 字符串开头(?!.*\$)
- 字符串末尾不允许\
[^'"}{]{1,24}
- 除了'
、"
、{
和}
之外的 1 到 24 个字符
$
- 字符串结尾。