带有一些验证的企业名称的 JavaScript 正则表达式

标签 javascript regex

我需要 JavaScript 正则表达式作为企业名称,且满足以下条件:

  1. 允许使用数字、空格和以下字符:

    ~ ` ? ! ^ * ¨ ; @ = $ % { } [ ] |  /. < > # “ - ‘
    
  2. 应至少 2 个字符,其中之一必须是字母或数字字符

  3. 前后没有空格

示例:Test1TaA1M's1'ss!, 1!

我尝试了以下操作(暂时我只使用了 3 个特殊字符进行测试):

^(?=(?:[^\A-Za-z0-9]*[\A-Za-z0-9]){2})[~,?,!]*\S+(?: \S+){0,}$

但它不会验证 s!1!

最佳答案

您可以使用以下内容进行验证:

^(?!\s)(?!.*\s$)(?=.*[a-zA-Z0-9])[a-zA-Z0-9 '~?!]{2,}$

并添加您想要在 [a-zA-Z0-9 '~?!] 中允许的所有字符

参见DEMO

说明:

  • ^字符串的开头
  • (?!\s) don't start with space 的前瞻断言
  • (?!.*\s$) don't end with space 的前瞻断言
  • (?=.*[a-zA-Z0-9]) atleast one alpha or numeric character 的前瞻断言
  • [a-zA-Z0-9 '~?!]我们想要匹配的字符(根据需要自定义)
  • {2,}匹配先前定义的类中的最少 2 个字符和最多任意数量的字符
  • $字符串末尾

关于带有一些验证的企业名称的 JavaScript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30726203/

相关文章:

javascript - D3 强制布局 - 如何实现节点的 3D 外观?

javascript - 'onCommand' 的 Chrome 扩展错误

用于查找空格、字符串结尾和/或单词边界的 Python 正则表达式

javascript - 正则表达式在循环中的第一个匹配处停止

c# - 无法在字符串扩展方法中引用正则表达式

python - 从字符串中删除多个字符序列

javascript - 使用 Sails.js 根据参数创建必需的属性

javascript - 将 Joi 与 Hapi 一起使用时,如何设置需要一个键但允许任何和所有其他键?

javascript - d3 v4 从 CSV 堆叠到分组条形图

ruby-on-rails - 如何在已被 Rails 转义的正则表达式中转义\\?