Регулярное выражение для повторения специальных символов - PullRequest
0 голосов
/ 06 апреля 2020

Мое требование состоит в том, чтобы не повторять специальные символы

В настоящее время у меня есть

const reg=(/[^.*a-zA-Z0-9.,\s]*/g, '')

Я хочу разрешить

sometext . something

Я не хочу разрешать

sometext,, something . some. some,

1 Ответ

1 голос
/ 06 апреля 2020

Если вы не хотите, чтобы специальный символ повторялся в вашей полной строке. Вы можете использовать match и Set

let nonRepeated = (str) => {
  let match = str.match(/[.,]/g) || []
  let setMatch = new Set(match)
  return match.length != setMatch.size
}

console.log(nonRepeated('sometext . something'))
console.log(nonRepeated('sometext,, something . some. some,'))

И если вы не хотите иметь последовательный специальный символ, вы можете использовать его как-то так:

let nonRepeated = (str) =>  !/([,.])(?=\1)/.test(str)

console.log(nonRepeated('sometext . something'))
console.log(nonRepeated('sometext,, something . some. some,'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...