我想检查一个字符是否与一组可能的其他字符匹配,所以我试图做这样的事情:
str.charAt(0) == /[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/
因为它不起作用是否有正确的方法来做到这一点?
答案 0 :(得分:4)
使用test
/[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/.test(str.charAt(0))
答案 1 :(得分:2)
是的,使用:
if(str.charAt(0).match(/[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/))
charAt
只返回一个字符长的字符串,Javascript中没有char
类型,因此您可以使用常规字符串函数来匹配正则表达式。
答案 2 :(得分:1)
另一个选项,只要您不使用范围就可行:
var chars = "[].,-/#!$%^&*;:{}=-_`~()";
var str = '.abc';
var c = str.charAt(0);
var found = chars.indexOf(c) > 1;
另一种选择是将字符保存在数组中(例如,使用chars.split('')
),并检查字符是否存在:
How do I check if an array includes an object in JavaScript?