RegExpes móka Jsben
Nem nagyon találtam olyan fórumot, ahova ez illene, mivel JS-ben kell tető alá hoznom, ezért került ide.
Egy keresőmező tartalmát kéne minél intelligensebben coma-separated formára hozni. Persze a userek fognak írni mindent ami szem szájnak ingere, ezért fontos, hogy jól kezeljem le az inputot.
Ki kéne szűrni a szóközöket(úgy általánosságban a whitespace karaktereket),a nem karakteres, nem numerikus karaktereket('"+!%//=). A user persze össze vissza variálhatja az egyes karakterek sorrendjét, tehát ", " és " ," vagy az eddig említett elemek tetszőleges kombóját betolhatja.
Például egy ilyen inputból: "alma & körte, piros ,sárga!"
Egy ilyet kéne előállítani: "alma,körte,piros,sárga"
Több lépcsőből én is meg tudom oldani, a nem kívánt karaktereket, mind vesszőre cserélem, aztán a több vesszőből álló sorozatokat egyetlen vesszőre cserélem.
Nagyon érdekelne, hogy létezik-e olyan reguláris kifejezés, ami a fentieket egy lépésben lekezeli. Ha valakinek megy ez kisujjból, az megoszthatná velem. Kösz!
■ Egy keresőmező tartalmát kéne minél intelligensebben coma-separated formára hozni. Persze a userek fognak írni mindent ami szem szájnak ingere, ezért fontos, hogy jól kezeljem le az inputot.
Ki kéne szűrni a szóközöket(úgy általánosságban a whitespace karaktereket),a nem karakteres, nem numerikus karaktereket('"+!%//=). A user persze össze vissza variálhatja az egyes karakterek sorrendjét, tehát ", " és " ," vagy az eddig említett elemek tetszőleges kombóját betolhatja.
Például egy ilyen inputból: "alma & körte, piros ,sárga!"
Egy ilyet kéne előállítani: "alma,körte,piros,sárga"
Több lépcsőből én is meg tudom oldani, a nem kívánt karaktereket, mind vesszőre cserélem, aztán a több vesszőből álló sorozatokat egyetlen vesszőre cserélem.
Nagyon érdekelne, hogy létezik-e olyan reguláris kifejezés, ami a fentieket egy lépésben lekezeli. Ha valakinek megy ez kisujjból, az megoszthatná velem. Kösz!
Több lépcsőből én is meg
Én inkább azon agyalnék, hogy hogyan lehetne az ékezetes betűket szókarakterként kezelni. Édes anyanyelvünk esetében a sztring.replace(/[^a-z0-9áéíóöőúüű]+/ig,',') elegendő, de ha más nyelv(ek)et is támogatni akarsz, ez a kivétel sorolgatás már tarthatatlanná válik. A fordítottja, hogy a nem-szókaraktereket sorolod fel, szintén a végtelenségig ragozható, különben bent marad egy póker ♠ ♣ ♥ ♦ vagy még cifrább.
split
Ha érdekel valakit, hogy a fenti kifejezés mire illeszkedik:
Köszi a hozzászólásokat.
Van magyar nyelvű cikk a többnyelvű fejlesztésekről? Szimpla honlap elemek szintjénb is, és adatbázis szinten is meg kéne valósítsam. Ötletem van, csak gyanítom, hogy nem a legtisztább mód lenne.
A lényeg:
!"#$%&'()*+,./:;<=>?@[\]^_{|}~
karakterek közül valamelyik követ, majd újabb 0 vagy több whitespace. Mivel ez eredményezhet olyan elemeket, amelyek üresek (például 2 darab egymást követő vessző), ezeket kiveszem a listából.var input = 'alma & körte,