是否有可能将char与regexp进行比较?

时间:2011-07-28 18:04:37

标签: javascript regex

我想检查一个字符是否与一组可能的其他字符匹配,所以我试图做这样的事情:

str.charAt(0) == /[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/

因为它不起作用是否有正确的方法来做到这一点?

3 个答案:

答案 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;

示例:http://jsbin.com/esavam

另一种选择是将字符保存在数组中(例如,使用chars.split('')),并检查字符是否存在:

How do I check if an array includes an object in JavaScript?