用于过滤字符串的 Javascript 正则表达式

标签 javascript regex

我需要正则表达式来过滤字符串以符合以下条件:

  • 字符串总长度不能超过300个字符。
  • 字符串不能包含超过 4 个主题标签。
  • 该字符串不能包含超过 1 个 URL。
  • 字符串不能全部由大写字母组成。

示例有效文本:

Developers trust #StackOverflow to help solve #coding problems and use Stack Overflow Careers to find job opportunities. Please visit https://stackoverflow.com/

示例无效文本:

Developers trust #StackOverflow to help solve #coding problems and use Stack Overflow Careers to find job opportunities. Please visit https://stackoverflow.com/ or https://stackoverflow.com/company/about

上面的字符串无效,因为包含两个 URL。

任何帮助将不胜感激,非常感谢:)

最佳答案

我认为this会帮助你

^(?!^([^#]*#[^#]*){5,}$)(?!(.*http(s{0,1}):\/\/){2,})(?=.*[a-z]).{0,300}$
  • (?!^([^#]*#[^#]*){5,}$) 这将确保字符串不应包含超过 4 #
  • (?!(.*http(s{0,1}):\/\/){2,}) 这将确保字符串不应包含超过 2 个 url<
  • (?=.*[a-z]) 这将确保字符串至少包含 1 个小写字母
  • .{0,300} 这将确保字符串不应包含超过 300 个字符

关于用于过滤字符串的 Javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38966872/

相关文章:

javascript - 使用javascript将类添加到两级导航

javascript - Node.js:Server.js 的功能变得困惑

regex - 为什么 Groovy 不支持我的正则表达式中的 "OR"实例?

javascript - 匹配所有短语并将元素插入数组

javascript - 有没有办法通过 Javascript/jQuery 动态定义 css 规则?

javascript - 如何将类似react-native的js文件转换为纯javascript文件?

javascript - 正则表达式用于检查字符串是否不应包含某些单词,但如果这些单词前面有 'to' 或 'for' 则可以

python - 需要一个金发姑娘正则表达式模式 - 不要太贪婪也不要太自私

javascript - 向 JS 数组添加值

regex - 如何在vim中用大括号括住视觉上选择的文本