Jak usunąć z ciągu znaków wszystkie nie-alfanumeryczne znaki?

1

Jak skonstruować kod który by wycinał ze stringa wszystkie znaki z wyjątkiem liter i cyfr i polskich znaków ?

2

w jQuery nie wiem.
W JS zapewne używając RegExp.
Albo po prostu przejechać przez wszystkie znaki i patrzeć, czy coś jest literą, cyfrą albo polskim znakiem, i jeśli tak, to dodać to do nowego tworzonego stringa.

0

Ja wiem, ale jak wy wyglądał regexp z tym ?

3

const regexp = /[^\wąćęłńóżź]/ig;

i później podstawiasz do metody replaceAll (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll)

const text = "Ala ma kota, a kot ma Alę".replaceAll(regexp, '');
2
Xarviel napisał(a):
const regexp = /[^\wąćęłńóżź]/ig;

To zostawi też _, @tomixtomi0001 chcesz żeby _ został?

0
tomixtomi0001 napisał(a):

nie

Jeśli to ma zostawić wszystkie litery, wliczając np ß to zrób:

const string = "my secret-string ß";
string.replaceAll(/[^\p{Letter}0-9]/igu, '');

Jeśli natomiast ma zostawić tylko i wyłącznie polskie to:

const string = "my secret-string";
string.replaceAll(/[^a-z0-9ąęóćśńźłż]/ig, '');

@Xarviel Zapomniałeś ś w swoim regexpie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1