Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将类似的regexp检查组合到一个JS_Javascript_Regex - Fatal编程技术网

Javascript 将类似的regexp检查组合到一个JS

Javascript 将类似的regexp检查组合到一个JS,javascript,regex,Javascript,Regex,我不熟悉RegExp JS,我需要一些帮助 if (/[\-]{2}/.test(value) || /[\_]{2}/.test(value) || /[\.]{2}/.test(value) || /[\@]{2}/.test(value)) {} 如何组合此代码以提高效率 这一个正是我需要的,但我认为它可以结合起来 为了清楚起见,我需要检查一个字符串中是否有这些连续字符,例如: // "." == false // ".." == true // "..." == true // ".-

我不熟悉RegExp JS,我需要一些帮助

if (/[\-]{2}/.test(value) || /[\_]{2}/.test(value) || /[\.]{2}/.test(value) || /[\@]{2}/.test(value)) {}
如何组合此代码以提高效率

这一个正是我需要的,但我认为它可以结合起来

为了清楚起见,我需要检查一个字符串中是否有这些连续字符,例如:

// "." == false
// ".." == true
// "..." == true
// ".-" == false

以下是一个非常简单的版本:

if (/([-_.@])\1/.test(value)) {}

说明:

  • 启动匹配组
    • [-.@]
      -
      @
      组成的字符集中的任何字符
  • 结束匹配组
  • \1
    再次匹配第一个匹配组中的任何内容(在本例中,仅此)
注意,你不需要逃避

  • @
    任何时候
  • 在字符集中(
    […]
    ),或
  • -
    如果它是字符集中的第一个或最后一个字符
还要注意的是,这种情况是如此简单,没有太多的意义,任何花哨<代码>/--| | | \.|@/也同样有效。

让rx=/(\.|-| |-|-|@)\1+/;
console.log(rx.test(“..”);//真的
console.log(rx.test(“…”);//真的
console.log(rx.test('.-.');//假的

console.log(rx.test('--');//真的
谢谢,特别是您的澄清