javascript 正则表达式匹配不包含特定字符串的字符

有时应用场景不允许有逻辑代码,只允许使用正则表达式。比如禁止使用 String.prototype.indexOf 等 js 原生函数,这时候需要借助正则表达式来处理逻辑。

题:有如下字符串数组,使用正则查出不包含 min.js 的字符串。

1
var str = ['xx.min.js','xx.js','x.js','x.min.js'];

方案一

使用逻辑非

1
!/min\.js/.test(string)

条件再苛刻一点,不允许使用逻辑非,那么就需要使用正则表达式直接匹配出不包含的字符串。这时候需要用到方案二。

方案二

1
/^((?!min\.js).)+$/.test(string)

(?!min\.js). 表示任意字符前面都不能是 min.js 。后面的 . 也可以放在前面 .(?!min\.js),语法相同,表示匹配任意字符后面不能是 min.js

^((?!min\.js).)+$ 表示从开始到结束,任意字符前面都不是 min.js 则匹配成功,否则匹配失败。

完整语法参考 MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

css3 chrome 字体小于12px的解决方案

chrome 浏览器默认的最小文字大小是 12 像素,如果用户不修改这个设置,那么你设置的文本小于 12 像素是无效的。

包括用 chrome 模拟手机开发 H5 页面的时候,小于 12 像素会被直接设置为 12px,而手机上浏览器允许小于 12 像素。

阅读全文