Überprüfung auf Hex-Code mit reg_ex
Mark
- javascript
Ich habe da ein kleines problem mit der Überprüfung eines Inputfeldes in dem ein Farbwert steht. Will dieses Feld auf Richtigkeit überprüfen mit:
function check_color()
{
var color1;
color1=document.install_form.bgcolor.value;
reg_ex=/[1]{1}+[a-fA-F0-9]{6}$/;
if(reg_ex.test(color1))
{
alert("Richtig");
}
else
{
alert("Falsch");
}
Nun klappt das auch wunderbar, nur dass ich unendlich viele "#" eingeben kann und er das nicht als Fehler erkennt. Bei [a-fA-F0-9]{6} klappt das super und er lässt nur 6 Zeichen zu, aber bei [#]{1} dürfte er normalerweise auch nur ein # annehmen. Ich find einfach den Fehler nicht. Ich hoffe es kann mir jemand helfen!
# ↩︎
Hi,
reg_ex=/[1]{1}+[a-fA-F0-9]{6}$/;
Nun klappt das auch wunderbar, nur dass ich unendlich viele "#" eingeben kann
Du möchtest Dir bitte die Bedeutung der einzelnen Symbole bewusst machen. Wofür stehen eckige Klammern, wofür geschweifte, wofür _keine_ geschweiften Klammern und wofür das Pluszeichen. Wenn dies geschehen ist, ist Dir das Problem glasklar.
Cheatah
# ↩︎
hi,
Nun klappt das auch wunderbar, nur dass ich unendlich viele "#" eingeben kann und er das nicht als Fehler erkennt.
[#]{1}+
[#]{1} heisst: finde mir genau ein #
und was heisst + ? genau, finde mir den davor stehenden ausdruck ein oder mehrere male.
du sagst also, "finde mir ein oder mehrere male (genau ein #)".
gruss,
wahsaga
[#]{1}+
[#]{1} heisst: finde mir genau ein #
und was heisst + ? genau, finde mir den davor stehenden ausdruck ein oder mehrere male.
du sagst also, "finde mir ein oder mehrere male (genau ein #)".
- raus, und das ding sollte tun was du willst ...
gruss,
wahsaga
Ok vielen Dank. Klappt super hab jetzt:
reg_ex=/[1]{1}[a-fA-F0-9]{6}$/;
MfG
Mark
# ↩︎
Hi,
wo genau siehst Du denn Sinn in "[#]" und in "{1}"?
Doppelt hält besser.
argl ... dann sollte die RegExp aber auch in ein "for (var i=1; i<=1; i++)" gelegt werden ;-)
Cheatah
Nabend Cheatah,
argl ... dann sollte die RegExp aber auch in ein "for (var i=1; i<=1; i++)" gelegt werden ;-)
Oder noch doppelmoppeliger: [#]{1,1} ;-))
Freundschaft!
Siechfred
Hi,
Oder noch doppelmoppeliger: [#]{1,1} ;-))
function recurse(pattern) { return recurse('(?:'+pattern+'){1,1}'); }
Cheatah ;-)