【发布时间】:2014-10-09 16:05:52
【问题描述】:
首先它必须与所有现代浏览器兼容(因为它用于移动设备)。我想做什么?
我必须检查一个元标记,因为人们将其写入 DOM 的方式不同。
所以我的例子如下。如果存在空格和小数,我需要删除它们。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
所以我得到了那个元的内容:
var getViewport = document.querySelector('meta[name=viewport]');
var check = getViewport.getAttribute('content');
console.log(check); // output: width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no
我什至无法修剪它。我尝试了一些修剪功能,例如:
el.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
但在这种特殊情况下它不会做任何事情。
我需要比较该内容是否匹配,否则我将用适当的内容替换它。 人们以多种方式编写它,所以我不想比较每种可能的方式,而是让它看起来都一样,所以如果存在,那么它将与我上面的示例相同。
width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no
width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no
width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no
width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no
他们还可以有意或无意地在某些地方添加一些间距并删除其他间距......如果你明白我想说的话。由于快速键入和语法问题,这可能需要进行一些编辑。
底线,任何人都可以教我如何修剪,从"var check" 中删除小数,因此任何情况下(如果存在)都将匹配这种类型的字符串:width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no
【问题讨论】:
-
字符串元素的顺序是否总是一致的?
-
也很不错。不确定此“视口”是否必须按此特定顺序排列。我把它从 Bootstrap 上取下来了。
-
好吧,我的解决方案会更复杂一些...使用带有键/值对的映射...我会做一个 jsfiddle 来解释它;)
-
好吧@PatrickFerreira。我也会等待那个解决方案。
标签: javascript regex trim