javascript - 在 javascript 中查找非单词、非空格和非连字符

标签 javascript regex

这是一个非常愚蠢的问题,但就我的一生而言,我无法找到一种简单的方法在 javascript 中做到这一点。

如果字符串包含“abcdefgh”,则应返回 false(未发现错误)

但如果字符串包含无效字符,例如“@$$”,则应返回 true(发现错误)。

因此,一般规则是,如果它包含非单词、非空格和非连字符,则应返回 true 以指示错误。

我尝试了 (/\W\D\S/).test('hello!'),由于“!”,它应该返回 true (发现问题),但它正在返回仍然是假的。

非常感谢!

最佳答案

在当前的正则表达式中,您并不是在寻找这些东西中的任何一个 - 您正在寻找连续的所有三个东西。

此外,\D并不意味着“非连字符”,它意味着“不是数字”。

您想要搜索任何与白名单不匹配的内容:

(/[^\w\s\-]/).test('hello!')       // true
(/[^\w\s\-]/).test('hello')        // false
(/[^\w\s\-]/).test('hello-there')  // also false

关于javascript - 在 javascript 中查找非单词、非空格和非连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536536/

相关文章:

javascript - 如何连续创建多个史莱克图像?

java - 在 Java 中第一次匹配之前使用正则表达式的子字符串

javascript - 简单的 Highcharts 图表在 Firefox 中不起作用

javascript - :hover is not working on links

javascript - 将 unix 时间戳转换为 moment js 在 chrome 中无法正常工作

java - JAVA 如何在双引号中搜索然后选择一个字符串?

python - 正则表达式删除所有非字母/非数字字符[Python]?

python - 使用正则表达式提取电话号码,后面或前面没有数字

Javascript时间戳格式化与正则表达式?

javascript - Cordova iOS : Click on custom auto suggest not recognized cause keyboard closes