2010-12-30 4 views
0

abzustreifen habe ich ein Verzeichnis, in dem I-Bilder speichern, das Verzeichnis ist, ALWAYS 125x125 oder 468x60 oder verschiedene Größen von Breite vor der x und verschiedene Höhen nach dem xRegex dem Bild dimentions 125x125

I haben eine konstante

x

imgheight = imgdimentions.replace(/(.*?)x/ig, ''); 

wenn ich die oben regex verwenden kann ich die Bildhöhe bekommen.

Wie kann ich die Bildbreite erhalten - der Teil vor dem X

imgwidth = imgdimentions.replace(/x(.*?)/ig, ''); 

ich die oben versucht haben, aber es gibt mir einen Fehler

Dank

+4

"IMMER 125x125 oder 468x60 oder verschiedene verschiedene Größen"? – BoltClock

+0

Was ich meine ist, dass die Konstante ist immer x - und die Bildbreite ist immer vor dem x und die Bildhöhe ist immer hinter dem x - Auch warum haben Sie die Frage bearbeitet, um die klassische asp zu entfernen. In der Vergangenheit hatte ich verschiedene Leute fragen mich, ob es in PHP oder ASP –

Antwort

7
var img_dimensions = imgdimentions.split("x"); 
var img_width  = img_dimensions[0]; 
var img_height  = img_dimensions[1]; 

Was Sie gemeint zu tun war

var imgheight = imgdimentions.replace(/.*x/, ''); 
var imgwidth = imgdimentions.replace(/x.*/, ''); 

aber das ist unnötig kompliziert im Vergleich zu nur mit split(). Beachten Sie, dass weder der .*? widerwillige Quantifizierer noch die Klammern noch die ig Modifikatoren für die Regexes hier notwendig sind.

+0

+1 für fast Gedanken lesen codiert ist - ich war sicher, er wollte entfernen "" -Tags. – Kobi

+0

Perfect Vielen Dank Tomalak - Ich habe noch nicht einmal an die Split-Funktion gedacht - ich freue mich über Ihr Feedback! –

+1

@GeraldFerreira: Gern geschehen. Ich weiß, dass es verlockend ist, Regex für alles zu verwenden, aber viele Aufgaben können einfacher mit geeigneteren Tools gelöst werden. Als Nebeneffekt ist es einfacher zu verstehen, was 'split()' tut, wenn der Code gelesen/gepflegt wird. – Tomalak