正则表达式检查textarea中的几个特殊字符

时间:2014-02-15 05:15:27

标签: javascript regex

您好我一直试图检查是否有?或*存在于textarea但无法获得计数

我的尝试

if($('textarea').val().match(/\**\?*/).length){
   //do something
   console.log("* or ? not allowed");
}

测试用例

some word ????? ***** 
some*****
"*" "?"
"?"

“*”

它必须能够检查任何可能的?或者*出现在textarea。

3 个答案:

答案 0 :(得分:2)

使用[*?]作为模式。它与*?匹配。 (*?[...]内失去特殊情感,并按字面意思进行匹配。)

使用RegExp.prototype.test,您无需计算匹配项。

if (/[*?]/.test($('textarea').val()) {
   // do something
   console.log("* or ? not allowed");
}

/[*?]/.test('hello world')   // => false
/[*?]/.test('hello * world') // => true
/[*?]/.test('hello world?')  // => true

答案 1 :(得分:1)

如果您想使用match功能,那么您可以执行以下操作

if($('textarea').val().match(/[*?]/g).length > 0){
   //do something
   console.log("* or ? not allowed");
}

答案 2 :(得分:1)

检查包含问号或星号[\?*]{1,}

的文字