我要檢查,如果單個字符一組可能其他字符匹配,所以我試圖做這樣的事情:是否可以將char與正則表達式進行比較?
str.charAt(0) == /[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/
,因爲它不工作,在那裏做一個正確的方式?
我要檢查,如果單個字符一組可能其他字符匹配,所以我試圖做這樣的事情:是否可以將char與正則表達式進行比較?
str.charAt(0) == /[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/
,因爲它不工作,在那裏做一個正確的方式?
使用test
/[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/.test(str.charAt(0))
是,使用:
if(str.charAt(0).match(/[\[\]\.,-\/#!$%\^&\*;:{}=\-_`~()]/))
charAt
只返回一個字符的長字符串,沒有char
類型在Javascript,所以你可以使用它的常規字符串函數來匹配一個正則表達式。
另一種選擇,因爲你不使用的範圍是可行的,只要:
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?