backbone.js Javascript正则表达式:需要两个正则表达式的AND组合

slwdgvem  于 2022-11-10  发布在  Java
关注(0)|答案(2)|浏览(117)

我需要一个正则表达式,可以检查两件事:
1.字符串不包含特殊字符,如-'"}{
1.字符串结尾不包含反斜杠\
我可以分别为它们创建一个正则表达式,如下所示:
对于1)/^[^'"}{]$/-这将确保括号内的字符不会出现在字符串中的任何位置。
对于2)/[\\\]$/-这将确保字符串不会以反斜杠结尾。
我有一个任务,我不能有两个正则表达式,我只需要一个正则表达式。我希望两个正则表达式都被检查。据我所知,'|'符号的作用相当于OR运算符。有没有一种方法可以只使用一个正则表达式来检查这两个条件?

更新日期:

这是一个仍然使用Backbone JS的旧应用程序,我使用regex的代码看起来类似于下面的代码:

schema :{
userPass : {
title: i18n['user.password'], 
type: "Password", 
validators: ['required', {type: "regexp", regexp: /^[^'"}{]{1,24}$/, message: i18n['user.pass.notvalid']}]}

现在,有了一个新的要求,即不允许反斜杠\只出现在结尾,它可以出现在开头或中间。

cbjzeqam

cbjzeqam1#

您可以使用

/^(?!.*\\$)[^'"}{]{1,24}$/

它匹配:

  • ^-字符串开始
  • (?!.*\\$)-不允许在字符串末尾使用\
  • [^'"}{]{1,24}-除'"{}之外的1到24个字符
  • $-字符串结束。
mzillmmw

mzillmmw2#

并尝试/^(?!.*['"}{])(?!.*\\$)/
如果至少有1个字符,请尝试/^(?!.*['"}{])(?!.*\\$)./

相关问题