trim - ltrim - rtrim

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

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

Απάντηση
panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

trim - ltrim - rtrim

Δημοσίευση από panosru » 24 Ιαν 2006 20:51

paidia den yparxei kamia function h property sthn javascript pou na kanei
trim - ltrim - rtrim?

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27616
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

trim - ltrim - rtrim

Δημοσίευση από cordis » 24 Ιαν 2006 23:51

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

function trim(a){
	var tmp=new Array();
	for&#40;j=0;j<a.length;j++&#41;
		if&#40;a&#91;j&#93;!=''&#41;
			tmp&#91;tmp.length&#93;=a&#91;j&#93;;
	a.length=tmp.length;
	for&#40;j=0;j<tmp.length;j++&#41;
		a&#91;j&#93;=tmp&#91;j&#93;;
	return a;
&#125;
http://dev.kanngard.net/Permalinks/ID_2 ... 32118.html
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

trim - ltrim - rtrim

Δημοσίευση από panosru » 25 Ιαν 2006 10:42

oraio alla aferei to keno mono mprosta apo thn leksi, diladi douleyei san ltrim oxi san trim

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

trim - ltrim - rtrim

Δημοσίευση από skeftomilos » 25 Ιαν 2006 11:09

Κάτι πιο σύντομο:

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

function trim&#40;s&#41; &#123; return s.replace&#40;/^\s+|\s+$/g, ''&#41; &#125;
function trimRight&#40;s&#41; &#123; return s.replace&#40;/\s+$/, ''&#41; &#125;
function trimLeft&#40;s&#41; &#123; return s.replace&#40;/^\s+/, ''&#41; &#125;
Μπορεί να γίνει και με prototypes για χρήση με object oriented στυλ:

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

String.prototype.trim = function&#40;&#41; &#123; return this.replace&#40;/^\s+|\s+$/g, ''&#41; &#125;
Με αυτό τον τρόπο αντί για...

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

var str = trim&#40;' αβγ '&#41;
...γράφουμε αυτό:

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

var str = ' αβγ '.trim&#40;&#41;
Προσωπικά δε συνιστώ τα prototype extensions, αν κι έχουν πλάκα στην αρχή. :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

trim - ltrim - rtrim

Δημοσίευση από panosru » 26 Ιαν 2006 11:55

thanks!! :D

mia erotihsh, sto patern sou ayta pou exo apo kato me bold ti dilonoun?

/^\s+|\s+$/g

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

trim - ltrim - rtrim

Δημοσίευση από skeftomilos » 26 Ιαν 2006 16:10

Η κάθετη γραμμή σημαίνει ή και το τελικό g σημαίνει global. Βάζοντας το g θα γίνουν όλες οι δυνατές αντικαστάσεις, ενώ αν το παραλείψουμε θα γίνει μόνο μία (η πρώτη). Η συγκεκριμένη expresion ψάχνει για δύο περιπτώσεις, για κενά στην αρχή και το τέλος. Μάλιστα ψάχνει για κάθε είδους κενά, tabs, new lines κ.λπ. Θα μπορούσαμε να τη σπάσουμε στα δύο και να κάνουμε δύο ανεξάρτητες αντικαταστάσεις:

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

function trim&#40;s&#41; &#123; return s.replace&#40;/^\s+/, ''&#41;.replace&#40;/\s+$/, ''&#41; &#125;
...αλλά είναι περισσότερος κώδικας και χειρότερη performance.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

trim - ltrim - rtrim

Δημοσίευση από panosru » 26 Ιαν 2006 17:30

oraio! den to iksera ayto me to | kai to g, na sou po exo dei pola RegExp patterns opou anti gia g exoun i, gia na mhn se rotao tora ti einai to kathena exeis na mou protineis kapoio tutorial gi' ayto?

pros to paron exo brei ayta:
phpfreaks
regular-expressions.info

an exeis na mou protineis kati kalytero, kalodexoumeno! :D

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

trim - ltrim - rtrim

Δημοσίευση από skeftomilos » 27 Ιαν 2006 07:54

Ο καθένας όπου μάθει κάτι, σε αυτό ανατρέχει ως reference. Χρησιμοποιώ το Client-Side JavaScript Reference 1.3 χωρίς να σημαίνει ότι είναι το καλύτερο για Regular expressions, απλά το έχω συνηθίσει. Άλλες φορές κοιτάω και το Εγχειρίδιο για scripting της Microsoft, ειδικά όταν συμβαίνουν διάφορα περίεργα λόγω ασυμβατότητας από browser σε browser.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

trim - ltrim - rtrim

Δημοσίευση από panosru » 27 Ιαν 2006 11:16

oraia links skeftomile!! :D

thanks ;)

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

trim - ltrim - rtrim

Δημοσίευση από panosru » 12 Φεβ 2006 12:59

skeftomilos έγραψε:Προσωπικά δε συνιστώ τα prototype extensions, αν κι έχουν πλάκα στην αρχή. :)
na sou po epidi thelo na to kano me prototype extension to trim sto validation pou exo, giati den to synistas? exei problhmata?

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

trim - ltrim - rtrim

Δημοσίευση από skeftomilos » 12 Φεβ 2006 13:32

Όχι κανένα πρόβλημα δεν υπάρχει όσο έχεις τον πλήρη έλεγχο του κώδικα της σελίδας. Το προβλήματα ξεκινάνε από τη στιγμή που αρχίζεις να προσθέτεις πακέτα κώδικα γραμμένα από άλλους. Τα prototypes των build-in objects (Object, String, Number, Array, Date, Math) αποτελούν στην ουσία μέρος του public namespace. Τι θα συμβεί αν κάποιος άλλος έχει προσθέσει επίσης τη μέθοδο trim στο prototype του String; Τότε υπάρχει περίπτωση ο δικός σου κώδικας θα καλέσει την trim() του άλλου, ή ο κώδικας του άλλου τη δική σου trim(). Φαντάσου τώρα ότι η δική σου trim αφαιρεί κενά και tabs, αλλά η trim του άλλου αφαιρεί μόνο κενά. Ξαφνικά λοιπόν βλέπεις να συμβαίνουν απροσδόκητα πράγματά στον κώδικά σου, ή ακόμα χειρότερα βλέπεις να συμπεριφέρεται αλλοπρόσαλλα ο κώδικας του άλλου. Μπορείς θαυμάσια να περάσεις τις υπόλοιπες 48 ώρες της ζωής σου τραβώντας τα μαλλιά σου (ή του καθηγητή σου) μέχρι να βρεις την αιτία του λάθους. Και τότε δε θα σου φανεί καθόλου αστείο, ειδικά αν έχεις μείνει φαλακρός από το μαλλιοτράβηγμα. :P
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

trim - ltrim - rtrim

Δημοσίευση από panosru » 12 Φεβ 2006 13:36

loool

oxi ntaksi ego enoo gia kati pou exeis ftiaksei o idios kai exeis ton apolyto elengxo

Απάντηση

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

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

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