vergleichsoperatoren größer, kleiner bei strings
boris crismancich
- javascript
ot:
hallo erstmal, ich schreibe zum ersten mal ins
forum und möchte mich daher kurz vorstellen:
boris crismancich (22), schreibe scripte für
intra / extranet anwendungen und bin in unserer
agentur zuständig für cms (reddot).
sprachen: html, javascript, asp, php, delphiscript etc.
zu meiner frage:
ich habe im SelfHTML beispiel "Formulareingaben überprüfen"
(JavaScript/DOM,Anwendungsbeispiele) folgenden code gefunden:
if(document.Formular.Alter.value.charAt(i) < "0"
|| document.Formular.Alter.value.charAt(i) > "9")
es wäre interessant, bei den vergleichsoperatoren zu erfahren,
welches merkmal der strings verglichen wird. ich vermute
dass es der Latin-1-Codewert sein könnte. leider konnte
ich dazu bisher keine brauchbare antwort in den groups finden.
freue mich über alle infos.
bis denn,
boris crismancich
wettermacher
Moin!
if(document.Formular.Alter.value.charAt(i) < "0"
|| document.Formular.Alter.value.charAt(i) > "9")
es wäre interessant, bei den vergleichsoperatoren zu erfahren,
welches merkmal der strings verglichen wird. ich vermute
dass es der Latin-1-Codewert sein könnte. leider konnte
ich dazu bisher keine brauchbare antwort in den groups finden.
Wie bei allen Programmiersprachen: Es wird der "Bytewert" verglichen, mit dem der String im Speicher repräsentiert wird. Als Bytewert können auch zwei Byte vorliegen, sofern ganz normaler Unicode vorliegt.
Welche Codierung bei Javascript exakt vorliegt, kann ich dir aber auch nicht sagen. Allerdings: Die ersten 128 Zeichen sind in allen Zeichensätzen identisch, also kannst du wahlweise ASCII, ANSI oder sonst irgendeine Codetabelle annehmen, es wird immer zum gleichen Ergebnis führen.
- Sven Rautenberg
Hallo,
Welche Codierung bei Javascript exakt vorliegt, kann ich dir aber
auch nicht sagen.
Die Tatsache, dass saemtliche char()-aehnlichen Funktionen mit Unicode
arbeiten, duerfte darauf hindeuten, dass Unicode verwendet wird. Welche
Unicode-Implementierung (UTF-8, UTF-16, UTF-32) duerfte dabei vom
Browser abhaengen, denke ich.
Gruesse,
CK
Wie bei allen Programmiersprachen: Es wird der "Bytewert" verglichen, mit dem der String im Speicher repräsentiert wird. Als Bytewert können auch zwei Byte vorliegen, sofern ganz normaler Unicode vorliegt.
so, das löst doch glatt mein problem.
über das stichwort unicode bin ich zum
abschnitt zeichensatz gekommen und da ging
mir glatt ein ganzer kronleuchter auf.
danke :ol