Regular Expression με ελληνικά

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
pam
Δημοσιεύσεις: 2
Εγγραφή: 23 Νοέμ 2006 22:13

Regular Expression με ελληνικά

Δημοσίευση από pam » 23 Νοέμ 2006 22:20

Γεια σας παιδιά. Καταρχήν συγχαρητήρια για το forum, γιατί πραγματικά έχει πολλά πολύ χρήσιμα θέματα!!!

Φτιάχνω μία σελίδα, η οποία διαχειρίζεται μία βάση δεδομένων.
Στην προσπάθεια μου να περάσω δεδομένα στην βάση, πρέπει να φτιάξω ένα JavaScript, το οποίο να κάνει Validate τις φόρμες εισαγωγής δεδομένων, πριν στείλω τα δεδομένα στην βάση.
Γι'αυτό τον λόγο, για τα πεδία που δέχονται γράμματα, πρέπει να χρησιμοποιήσω ένα Regular Expression του στυλ var alphaExp = /^[a-zA-Z]+$/. ΄Ομως εγώ θέλω να δέχομαι κι ελληνικούς χαρακτήρες, κάτι που έχω δοκιμάσει, αλλά χωρίς επιτυχία. Πίστευα πως ένα Regular Expression της μορφής var alphaExp = /^[a-zA-Zα-ωΑ-Ω]+$/ θα έκανε την δουλειά, αλλά μάλλον κάτι έχω λάθος...

Κάποιος που ξέρει ας μου δώσει τα φώτα του!
Ευχαριστώ!

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Regular Expression με ελληνικά

Δημοσίευση από iffor » 23 Νοέμ 2006 23:01

Δες μήπως σε βοηθήσει αυτό το thread
www.freestuff.gr/forums/viewtopic.php?t=24204
αλλά και αυτό
www.freestuff.gr/forums/viewtopic.php?t=21186
Τελευταία επεξεργασία από το μέλος iffor την 23 Νοέμ 2006 23:10, έχει επεξεργασθεί 1 φορά συνολικά.
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Regular Expression με ελληνικά

Δημοσίευση από skeftomilos » 23 Νοέμ 2006 23:03

Δυστυχώς οι regular expressions της JavaScript δεν αντιλαμβάνονται τα ελληνικά ώς γράμματα αλλά ως σύμβολα. Η σίγουρη λύση είναι να μπουν όλοι οι χαρακτήρες στην expression:

Κώδικας: Επιλογή όλων

/[αάβγδεέζηήθιίϊΐκλμνξοόπρσςτυύϋΰφχψωώ]/i
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

pam
Δημοσιεύσεις: 2
Εγγραφή: 23 Νοέμ 2006 22:13

Regular Expression με ελληνικά

Δημοσίευση από pam » 23 Νοέμ 2006 23:41

Παιδιά ευχαριστώ και τους δύο για τις απαντήσεις σας!
Φίλε skeftomilos, είχες απόλυτο δίκαιο... It works like a dream :-)

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Regular Expression με ελληνικά

Δημοσίευση από skeftomilos » 24 Νοέμ 2006 21:35

Ας υποθέσουμε ότι υπάρχουν πολλά σημεία στην expression που κάνουν match για ελληνικό χαρακτήρα. Για να μη γίνει πολύ μακροσκελής η expression μπορεί να γίνει κάτι τέτοιο:

Κώδικας: Επιλογή όλων

var re = new RegExp('[ω]+\s[ω]+\s[ω]+'.replace('/ω/g', 'αάβγδεέζηήθιίϊΐκλμνξοόπρσςτυύϋΰφχψωώ'), 'i')
Η συγκεκριμένη ψάχνει για τρεις ελληνικές λέξεις χωρισμένες με κενά.

Θα μπορούσε ενδεχομένως να φτιαχτεί ένας constructor που να κάνει την αντικατάσταση αυτόματα, δηλαδή κάπως έτσι:

Κώδικας: Επιλογή όλων

var re = new RegExpGR('[ω]+\s[ω]+\s[ω]+', 'i')
Το αφήνω σαν άσκηση για όποιον ενδιαφέρεται. :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες