string anpassen

schueppi

Grünschnabel
hellas,

durch <%=request.servervariables("logon_user") %> hole ich mir den nt account des besucher der seite in ein textfeld. das unschöne daran: im textfeld erscheint die domäne und der nt account (domäne/user).

meine idee wäre, die domäne (immer dieselbe anzahl zeichen) vor dem username mit hilfe eines javascript "abzuschneiden" so dass nur der account im textfeld erscheint.

so viel zur theorie, kann mir jemand mit der praxis weiterhelfen... :)

muchas gracias!!!!
 
Hallo,
das geht mit "substring" - ich hab dir ein Beipiel gebaut.
PHP:
<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
function trim(start){
  temp = document.demo.user.value;
  text = temp.substring(start,temp.lenght);
  document.demo.user.value = text;
}
//-->
</script>

</head>
<body>
<form name="demo">
<input type="text" name="user" onBLur="trim('5')">
</form>
</body>
</html>
meine Funktion "trim" bekommt als Parameter den Startindex. Substing erwartet den Startindex sowie das letzte Zeichen und leifert alles zurück was dazwischen steht.

bye
 
PROTEST:

Erstens: Crono, dein Beispiel enthält einen Fehler, auch wenn er sich nicht auswirken muss. Deine Variable start ist ein Interger, du übergibst sie aber als String, das ist zumindest unsauber.

Zweitens: Das ganze lässt sich einfacher realisieren, wenn sicher ist, dass das Trennzeichen das "/" ist:
PHP:
domain = user.substring(user.lastIndexOf("/")+1,user.length)
Das ermitteln den Teilstring nach dem letzten "/".

Just my 2 cents

Gruß
Falk
 
hallo ihr beiden,

besten dank für eure antworten. ich habe beide ausprobiert und es funktionieren auch beide super - genau so hab ich mir die lösung vorgestellt!!

besten dank für eure schnelle unterstützung.

schueppi
 
Original geschrieben von vogtländer
Erstens: Crono, dein Beispiel enthält einen Fehler, auch wenn er sich nicht auswirken muss. Deine Variable start ist ein Interger, du übergibst sie aber als String, das ist zumindest unsauber.
Ok, das war ein Flüchtigkeitsfehler... Dann einfach die '' weglassen und schon ist´s eine "number".


Zweitens: Das ganze lässt sich einfacher realisieren, wenn sicher ist, dass das Trennzeichen das "/" ist:
PHP:
domain = user.substring(user.lastIndexOf("/")+1,user.length)
Das ermitteln den Teilstring nach dem letzten "/".
Findest du das wirklich einfacher? Also ich persönlich, arbeiter lieber mir Indizies, ist aber wahrscheinlich Geschmackssache...

bye
 
Original geschrieben von vogtländer
Crono, dein Beispiel enthält einen Fehler, auch wenn er sich nicht auswirken muss. Deine Variable start ist ein Interger, du übergibst sie aber als String, das ist zumindest unsauber.
Afaik existieren keine "integer"s für die JavaScript-VM, und damit meine ich nicht einen fixen Datentyp wie in diversen Programmiersprachen, sondern generell den Begriff aus Sicht der Engine.

Automatisches typecasting ist ferner ein nettes Feature von JavaScript, von daher ist auch "unsauber" als Begriff imho nicht angebracht.
Oder wandelst du vielleicht beim Konkatenieren eines Strings mit einer Zahl letztere vorher in einen String um?

Geist
 
Zurück