ugrás a tartalomhoz

regisztrációs form karakterek ellenőrzése

sykorax · 2011. Nov. 27. (V), 19.00
Üdvözletem kedves fórumozók, blogolók!

Az én problémám nem valami specifikus, de meghaladta az eddigi képességeimet. Sok fele keresgéltem a megoldás után, mind google-on, mind itt, illetve más blogokon, de nem találtam meg a számomra ideális leírást/megoldást.
A problémám: Valójában egy regisztrációs formban, szeretném a kitöltött keresztnév, valamint vezetéknév tartalmának ellenőrzését. Fontos lenne, hogy ellenőrizze a script, hogy a megadott név első betűje nagy betű-e, valamint egy mássalhangzó(b) vagy magánhangzó(a) nem szerepel-e többször a névben, mint háromszor, valamint természetesen kiszeretném szűrni a nem oda illő -nevezzük ezeket- speciális karaktereket (pl.\|Ä/<?>:.stb..). Nézegettem az "strstr" valamint a "pregmatch" parancsokat, de valahogy még mindig nem tudom felfogni lényegében, mit kéne használjak. Ezért írok, mert remélem itt találok hozzáértőtől magyarázatot, vagy egy rövid betekintést, akár egy linket, melyből ki tudnék indulni.
A forrást nem nagyon szeretném bemásolni, mert elég hosszú, fölöslegesen nem "terhelném" az oldalt és az adatbázist.

Előre is köszönöm a segítséget, és elnézését kérem mindenkitől, ha esetleg fent lenne a fórumon, de egy magyarázat szóljon mentségemre, nem találtam hosszadalmas keresés után sem.

Üdv, syko.
 
1

Reguláris kifejezések

Poetro · 2011. Nov. 27. (V), 20.19
Ajánlom a reguláris kifejezések tanulmányozását, illetve a Formális nyelvek tárgyon belül be is mutatják, hogyan is működnek ezek, valamint találhatsz hozzá jó pár könyvet és leírást is. De amennyiben nem akarod elsajátítani ezt a nagyszerű eszközt, akkor menj végig a szövegeden karakterenként, és tedd meg az egyes karakterre az ellenőrzéseket. Nagy betűk esetén például megnézed benne van-e a karakter a nagybetűk halmazába (PHP esetén például az összes nagybetűkből álló tömbben [in_array], vagy az összes nagybetűből álló stringben [strpos]).
nem szerepel-e többször a névben, mint háromszor

Ezt miért? Egy névben teljesen elfogadott, ha egy hang több mint háromszor fordul elő (pl. Kanalas Emese).
2

Szerintem (mivel amit írt az

prom3theus · 2011. Nov. 28. (H), 09.06
Szerintem (mivel amit írt az valóban elég értelmetlennek tűnik) arra gondolhatott, hogy egymás mellett nem szerepelhet 3 azonos magánhangzó. Mondjuk akkor mássalhangzók miért igen...? Ez is jogos. Ahogy azt se értem, miért ne adhatná meg valaki a nevét csupa kisbetűvel, amikor a nagy kezdőbetűt egy egyszerű konverzióval a szerveroldalon meg lehet oldani felhasználói beavatkozás nélkül.

Nekem ez a feladat inkább tűnik dolgozatnak vagy próbafeladatnak, szóval logikát szerintem ne keressünk benne :))
3

Első betű

Creative · 2011. Nov. 28. (H), 11.17
A vezeték és keresztnév ellenőrzésére, hogy első betű nagybetű-e, arra én ezt szoktam használni:
'/[A-ZÁÉ][a-záé]+( [A-ZÁÉ][a-záé]+)+/'
Természetesen ez csak részlet, a teljes kifejezés ennél bővebb, tekintve az igényeidet.
Remélem, segítettem vele.

C.
4

Tudod, hogy azon például

kuka · 2011. Nov. 28. (H), 12.24
Tudod, hogy azon például '♠♣♥♦ Xx Xx ♚♛♜♝♞♟' sikeresen átmegy?

(Ezt most nem kötetedésként írtam. Csak arra szeretnék rámutatni, hogy az ilyen név pofozgatások a gyakorlatban nem is annyira sima ügyek. Például prom3theus ucwords()-hangzású javaslata is csak magyar nevek esetén egyszerű, 'Mrs. McGinty' már sok volna neki. Na de így is valószínűleg többet foglalkoztunk ezzel a témával mint a kérdező.)
5

I18N lib

janoszen · 2011. Nov. 28. (H), 17.01
Nézd meg azt az I18N libet, amit még a DotRollnál fejlesztettünk. Az UTF-8-as rangeből egész sok karaktert ismer.
6

Köszönöm :)

sykorax · 2011. Nov. 28. (H), 23.22
Köszönöm szépen a segítségeket, és az útmutatásokat. :)

Valójában nem is dolgozat, vagy kisebb feladat. Igazából (kb) 2 hónapja önerőből "tanulgatom" a webfejlesztést, és egy személyes ajándék lenne az a weboldal, amihez ez is kellett.
Szóval köszönöm, innentől már menni fog.
Valójában igazatok van, a post kiíratása után nekem is eszembe jutott, hogy miért is lehetne három egymást követő azonos mássalhangzó a névben, vagy pedig a kis/nagy kezdőbetű felhasználó beavatkozás nélküli megoldása.
Másfelől természetesen magyar oldalról van szó, így ezt a "név-feldolgozást" szeretném kiélezni erre a nyelvre - már amennyire az nekem menni fog.
Köszönöm még egyszer! :)