javascript - 如何根据 JavaScript 中的白名单字符检查字符串?

标签 javascript regex validation ecmascript-6

我有一些代码可以转换用户输入以确保唯一允许的字符是 abcdefghijklmnopqrstuvwxyz-0123456789

https://jsfiddle.net/py4pnr0L/

value = 'GHJHlk;sxa787BVK'
value = value.toLowerCase()
value = value.replace(/[^a-z0-9\-]/gi, '-')
console.log(value)

返回:ghjhlk-sxa787bvk

我将如何不进行转换,而只是测试以查找给定字符串是否包含允许范围之外的字符?

我只想知道给定输入字符串的真/假。

我正在使用 ES2015,所以如果使用 ES2015 可以得到最干净的解决方案,那很好。

最佳答案

您可以使用 match 方法,尝试类似的方法:

value = 'GHJHlksxa787BVK';
 
console.log(!value.match(/[^a-zA-Z0-9\-]/))

关于javascript - 如何根据 JavaScript 中的白名单字符检查字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36437508/

相关文章:

javascript - 无法在 React 组件中导入 ES6 模块

regex - 如何在linux非bash shell脚本中测试变量是否是具有某些最大数字的数字

regex - 使用模式属性排除邮政信箱地址

php - Javascript 验证在我的 PHP 中不起作用

javascript - Nginx 在 POST .js 请求上返回 404

javascript - Dojo 中“是否”对话框的 Ajax 调用

regex - 基于GB且仅数字电话号码的正则表达式

asp.net-mvc-3 - EditorTemplate 的嵌套模型的 ASP.NET MVC3 条件验证

javascript - Noob JavaScript 问题 - 尝试从 html 文本输入分配一个变量,然后在函数中使用该变量

Varnish VCL 中的正则表达式捕获组