【发布时间】:2012-07-01 13:22:21
【问题描述】:
我一直在用这个:
str2 = str1.replace(/[^\w]/gi, '');
它工作正常,但与 JSLint 相冲突,因为在帖子 here 和 here 中概述了 insecure '^'。
大家一致认为,最好使用您的regex 来指定允许的,而不是不允许的。然而,没有人演示过如何做到这一点。我什至有 Flanagan 和 Crockford 摆在我面前,但遗憾的是我仍然不知道该怎么做。
那么...如何设置 str2 以仅允许在 str1 中找到的 \w 字符使用阳性测试而不是阴性测试?
【问题讨论】:
-
是否要从 str1 中提取安全字符?
-
您可以使用Zim提供的解决方案。这个例子太简单了,无法很好地说明不使用
^的意义。 -
是的,@nhahtdh,Zim 的解决方案非常适合这个简单的案例。不过,我很想知道它是如何处理更复杂的。
标签: javascript regex jslint