嗨,我一直在尝试检查是否有?或*存在于文本区域中,但无法计数

我的尝试

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


测试用例

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


“ *”

它必须能够检查任何可能的东西吗?或*显示在文本区域中。

最佳答案

使用[*?]作为模式。它匹配*?。 (*?失去了[...]内部的特殊测量,并且按字面值进行匹配。)

使用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

关于javascript - 正则表达式检查textarea中的一些特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21793704/

10-16 15:31