我需要一个正则表达式,可以检查两件事:
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']}]}
现在,有了一个新的要求,即不允许反斜杠\
只出现在结尾,它可以出现在开头或中间。
2条答案
按热度按时间cbjzeqam1#
您可以使用
它匹配:
^
-字符串开始(?!.*\\$)
-不允许在字符串末尾使用\
[^'"}{]{1,24}
-除'
、"
、{
和}
之外的1到24个字符$
-字符串结束。mzillmmw2#
并尝试
/^(?!.*['"}{])(?!.*\\$)/
如果至少有1个字符,请尝试
/^(?!.*['"}{])(?!.*\\$)./