JavaScript Regex - Как проверить, содержит ли строка только буквы, цифры, тире, подчеркивания и точки - PullRequest
0 голосов
/ 07 февраля 2020

всех, кого я хочу проверить, содержит ли строка только определенные c тип символов и все символы буквы , цифры , точки , подчеркивания и тире .

Если строка содержит другие символы, кроме упомянутых мною, то это должно привести к ложному значению.

Вот пример того, как должно работать регулярное выражение:

const regex = /regexpression/;



const string1 = "abra-ibra_cadabra.2";

// Should console log true
console.log(regex.test(string1));



const string2 = "!abra-ibra";

// Should console log false
console.log(regex.test(string2));

const string3 = "(abra)_ibra";

// Should console log false
console.log(regex.test(string3));

1 Ответ

0 голосов
/ 09 февраля 2020

Вы можете использовать метод JavaScript test () следующим образом:

const string1 = "abra-ibra_cadabra.2";
const string2 = "!abra-ibra";
const string3 = "(abra)_ibra";

let patt = /^(\w|\.|-)+$/;

console.log('string1:', patt.test(string1));
console.log('string2:', patt.test(string2));
console.log('string3:', patt.test(string3));

Объяснение:

^     : asserts position at start of the string,

$     : asserts position at the end of the string,

+     : Quantifier — Matches between one and unlimited times,

Группа захвата:

Между скобками, все альтернативы отделяются "|" (или) символ:

(\w|\.|-)

1-й вариант:

\w     : matches any word character (equal to [a-zA-Z0-9_])

2-й вариант:

\.     : matches the character . literally (case sensitive)

3-й вариант:

-     : matches the character - literally (case sensitive) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...