正则表达式检查字符串是不是包含 CSS [关闭]

Posted

技术标签:

【中文标题】正则表达式检查字符串是不是包含 CSS [关闭]【英文标题】:Regex to check if string contains CSS [closed]正则表达式检查字符串是否包含 CSS [关闭] 【发布时间】:2021-12-30 02:35:49 【问题描述】:

我有一个示例字符串。我想测试它是否包含 CSS。什么是正则表达式?

const str ="<p style="margin-top: 0px; margin-bottom: 0px; font-size: 13px; padding: 0px; 
            border: 0px; vertical-align: baseline; overflow-wrap: break-word; color: 
            rgb(51, 51, 51); font-family: Roboto, sans-ser"

const str1 ="This is a simple string not containing any CSS"
 
// someRegex is regex like /<(?:br|p)[^>]*>|<\/\w+\s*>/ or any other

console.log(someRegex.test(str) //should return true

console.log(someRegex.test(str1) //should return false  

【问题讨论】:

你想检查字符串是否包含CSS,你的意思是属性style是否存在?或者您想知道内容是类似于 CSS 的文本? 那么模式是:&lt;something&gt;:&lt;something&gt;; 您的str 无法编译。没有说明您的要求。因此,无法帮助您,因为我们无法帮助您“搜索数小时”来寻找答案。一旦您尝试编写正确的代码,使用或不使用正则表达式,那么我们将能够帮助您找到其中的错误(如果有)。 这个正则表达式似乎有效:/style="[a-zA-Z0-9:;, \-\(\)\n\+]+"/g /style="[\s\S]+"/g 匹配任意字符 【参考方案1】:

你可以使用它

/(style\=)("|')(.*)("|')/ig

检查结果:See Result

【讨论】:

【参考方案2】:

好吧,你可以检查冒号, 分号。没有什么复杂的需要。

类似'/:\s*[^;]*;?/'

翻译是一个冒号,有一个空格(0 个或多个)或在它之后的任何字符,但分号(可选)后跟分号(可选)。

一个 false true 将是一个像“hello : world”这样的字符串

那么我们必须检查冒号之前的单词。

'/[^-]+-[^:]+\s*:\s*[^;]*;?/'

这将检查之前的单词:它有 - 在中间。像 hello-world 不是 helloworld 或 hello world 或 hello

如果这是一个安全问题,永远不要相信客户端,总是在服务器端检查和清理 XSS

【讨论】:

以上是关于正则表达式检查字符串是不是包含 CSS [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 Ruby 中,我可以在不使用正则表达式的情况下检查字符串是不是包含字母吗?

Javascript:检查正则表达式是不是包含捕获组而不执行它[关闭]

修改给定的正则表达式以检查字符串是不是不包含电话号码

如何使用正则表达式检查用户输入是不是仅包含特殊字符?

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

正则表达式检查字符串是不是只有空格