首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >- and - or‘and’or“and”之间的区别

- and - or‘and’or“and”之间的区别
EN

Stack Overflow用户
提问于 2016-07-06 03:42:05
回答 0查看 127关注 0票数 2

我正在尝试验证一个字符串字段,以检查某些字符,如果它们中的任何一个存在,就会引发一个错误。这是我使用的正则表达式:

代码语言:javascript
复制
var regex = /^[^'\\\/\:\*\?"<>\|-]*$/; // In ServiceNow 

ServiceNow平台下的JavaScript代码如下:

代码语言:javascript
复制
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '') {
      return;
   }

   var regex = /^[^'\\\/\:\*\?"<>\|-]*$/;
   var ans = g_form.getValue('u_native_renaming_suffix');
    if(!regex.test(ans)){
        alert('Please enter valid string');
        return;
    }
}

它对所有包含的字符都能完美地工作。但是,当使用拉长连字符()或曲线形单引号或双引号() (我们在MS Word等应用程序中可以找到),而不是普通的连字符或引号时,此验证将不起作用。也就是说,当使用普通连字符或引号时,它会引发错误,但当使用拉长连字符或曲线引号时,则不会引发错误。

我甚至尝试将新字符复制粘贴到正则表达式中,但它们只是被替换或视为普通字符,即:

代码语言:javascript
复制
/^[^'’\\\/\:*\?"”<>\|-–]*$/

变成了

代码语言:javascript
复制
/^[^''\\\/\:*\?""<>\|-–]*$/

当我按下保存键时。

如何将这3个字符的验证合并到一起?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38211452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档