Mindesten eine Zahl Im Value des Textfeldes

messmar

Erfahrenes Mitglied
hallo,

wie kann man ein Textfeld prüfen, ob es mindesten eine Zahl enthält?

Ich weiß, dass um es zu prüfen, ob das Value eine Zahl ist oder nicht, dass man isNaN() verwendet. Aber dass es mindestens eine Zahl enthält, wüsste ich nicht wie.

Kann Jemand bitte helfen?

Danke und Gruß
Messmar
 
ich habe es wie folgt gelöst per JavaScript

Abfrage
Code:
function IsNumeric(sText)
  {
  var ValidChars = "0123456789.";
  var IsNumber=true;
  var Char;
  for (i = 0; i < sText.length && IsNumber == true; i++)
    {
    Char = sText.charAt(i);
    if (ValidChars.indexOf(Char) == -1)
      {
      IsNumber = false;
      }
    }
  return IsNumber;
  }

function pruef(formular,element)
{
  var x=0;
  var og = document.forms[formular].elements[element];

  for(var i=0; i<og.length; i++){
    if(og[i].checked == true){
      x++;
    }
  }

  if(x==0){
    alert("Bitte Eingaben vervollständigen!");
    return false;
  }
  else{
    return true;
  }
}

function validateForm(form1)
  {
  if((document.forms.form1.plz.value != "") && !IsNumeric(document.forms.form1.plz.value))
    {
    alert('Bitte geben Sie eine gültige gültige PLZ ein!')
    document.forms.form1.mtel.focus();
    return false;
    }

  if(document.forms.form1.plz.value.length < 5)
  {
  alert("Eine PLZ besteht aus min. 5 Ziffern!");
  document.forms.form1.plz.focus();
  return false;
  }

  if(document.forms.form1.plz.value.length > 5){
  alert("Eine PLZ besteht aus max. 5 Ziffern!");
  document.forms.form1.plz.focus();
  return false;
  }
}

hier der HTML-Code
HTML:
<form method="post" name="form1" action="" onsubmit="return validateForm(form1)">
<br><br>
<input name="plz" value="" size="5" type="text">
<br><br>
<br><input name="absenden" value="Abschicken" type="submit" onclick="return validateForm(form1)">
            <input type='hidden' name='speichern' value='speichern'><input name="cancel" value="Zurücksetzen" type="reset"-->
 
Hi,

danke vielmals.

ich brauche eigentlich nur diesen Part hier:
HTML:
function IsNumeric(sText)
  {
  var ValidChars = "0123456789.";
  var IsNumber=true;
  var Char;
  for (i = 0; i < sText.length && IsNumber == true; i++)
    {
    Char = sText.charAt(i);
    if (ValidChars.indexOf(Char) == -1)
      {
      IsNumber = false;
      }
    }
  return IsNumber;
  }

aber wenn ich es mit hier aufrufe, dann erhalte ich Fehler:
HTML:
<form>
<input name="ererere" value="" type="text" onblur="IsNumeric(this);">
</form>

Danke und Gruß
Messmar
 
versuch's mal damit, da ich bei dir keine Überprüfung finde, die eine Rückmeldung ausgibt.
HTML-Datei
HTML:
<html><head><title>Test</title>
<script type="text/javascript">
function IsNumeric(sText)
  {
  var ValidChars = "0123456789.";
  var IsNumber=true;
  var Char;
  for (i = 0; i < sText.length && IsNumber == true; i++)
    {
    Char = sText.charAt(i);
    if (ValidChars.indexOf(Char) == -1)
      {
      IsNumber = false;
      }
    }
  return IsNumber;
  }

function PruefeInhalt (Feld) {
  if ((Feld == "") || !IsNumeric(Feld))
  {
    alert("Das Eingabesfeld muss einen Zahleninhalt haben!");
    document.Test.Eingabe.focus();
    return false;
  }
}
</script>
</head><body>
<form name="Test" action="">
Name: <input type="text" name="Eingabe" onblur="PruefeInhalt(this.value)"><br>
Geben Sie irgendetwas ein und klicken Sie dann woanders hin, um das Eingabefeld zu verlassen!
</form>
</body></html>

hoffe ich konnte dir damit weiterhelfen
 
Vielen vielen Dank für die Mühe.

Aber da werden nur Zahlen akzeptiert und keine Buchstaben.
Ich will erreichen, dass das Feld ganz normal Buchstaben aufnimmt aber MUSS
darunter mindestens eine Zahl sein.

Bei Eingabe von nur Buchstaben, muss eine Fehlermeldung kommen.

also:

dfgdfgdgdgd --> falsch
ggdf3dsfdsfs --> rihctig

RegExp:

HTML:
<html><head><title>Test</title>
<script language=javascript>
reg_ex3=/\d.+\B/;
function testen5(){
	if(reg_ex3.test(document.forms[0].Eingabe.value)){
		alert("Das gesuchte Wort wurde gefunden");
	}
	else{
		alert("Das gesuchte Wort ist nicht enthalten");
	}
}
</script>
<A href=javascript:testen5()>testen</A>
</head><body>
<form name="Test" action="">
Name: <input type="text" name="Eingabe" onblur="testen5();"><br>
Geben Sie irgendetwas ein und klicken Sie dann woanders hin, um das Eingabefeld zu verlassen!
</form>
</body></html>

Danke und Gruß
Messmar
 
Achso du wolltest ein alphanummerische Eingabefeld haben, entschuldige, dass hatte ich irgendwie missverstanden. Aber schön, dass du es nun lösen konntest.
 
Hallo,

warum verwendest du nicht einfach /\d/ als regulären Ausdruck? In der jetzigen Form wird beispielsweise eine Ziffer ganz am Ende der Eingabe nicht gefunden.

Grüße,
Matthias
 
Hi,

Vielen Danke euch beide.

@Matthias: ich habe mich gerade gefragt, warum es nicht 100% funktioniert wie ich will

jetzt passt es.

Gruß
Messmar
 

Neue Beiträge

Zurück