webForumDet fria alternativet

Validera textfält

8 svar · 602 visningar · startad av devotion

devotionMedlem sedan jan. 20012 711 inlägg
#1

Hej! :)
Hur gör jag för att validera ett textfält så det kontrollerar om det är en GRUPP om 7 SIFFROR. Är det inte det vill jag att en alert kommer upp och det ska inte gå att komma vidare....

Mvh
Henrik

TravoniMedlem sedan okt. 20041 538 inlägg
#2
<script>
function IsEnumber(f){
	if(/^\d{7}$/.test(f)){	
		return true;
		} else {
		return false;
	}
};

alert(IsEnumber("4127595"));

</script>
devotionMedlem sedan jan. 20012 711 inlägg
#3

Hej!
Jag glömde skriva att den ska användas på ett variabelt antal fält enligt:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="addEnumber.asp" method="get">
<table width="800" border="0" cellpadding="0" cellspacing="0" class="tabellRam">
  <tr class="panel">
    <td width="109">    </td>
    <td width="250"><span class="text12px">V&auml;lj antal artiklar du vill registrera:</span></td>
    <td width="375"><select name="fields" class="listmeny" onchange="this.form.submit();">
      <% 
		for i = 1 to 15
			Response.Write "<option value=""" & i & """ "
			If cstr(i) = request("fields") then Response.Write "selected=""selected"""
			Response.Write ">" & i & "</option>" & vbCrLf
		next	
		%>
    </select></td>
    <td width="27">&nbsp;</td>
    <td width="39">&nbsp;</td>
  </tr>
</table>
<p>
</form>
  <form action="addEnumber2.asp" method="post" name="registereNumberForm" id="registereNumberForm" >
        <input name="TaskId" type="hidden" id="TaskId" value="<% =Request.Cookies("Task")("TaskId") %>">

<%
startNumber = 1
If request("fields") = "" then stopNumber = 1 Else stopnumber = request("fields")
%>

  <table width="800" border="0" cellpadding="0" cellspacing="0">
    <% For i = startNUmber to stopNumber %><tr>
      <td width="98" height="20" class="text11px">      E-nummer: </td>
      <td width="122"><input name="eNumber<% =i %>" type="text" class="textfield" id="eNumber<% =i %>" size="15"></td>
      <td width="32"></a></td>
      <td width="10">&nbsp;</td>
      <td width="64" class="text11px">Antal:</td>
      <td width="65"><select name="amount" class="listmeny">
      <% 
		for i2 = 1 to 100
			Response.Write "<option value=""" & i2 & """ "
			If cstr(i) = request("amount") then Response.Write "selected=""selected"""
			Response.Write ">" & i2 & "</option>" & vbCrLf
		next	
	  %>
    </select></td>
      <td width="84" class="text11px">&nbsp;</td>
      <td width="93">&nbsp;</td>
      <td width="81" class="text11px">&nbsp;</td>
      <td width="116">&nbsp;</td>
      <td width="35"><input name="cnt" type="hidden" value="<% =i%>"></td>
    <% Next %></tr>
  </table>
  
  <p>
    <input name="registrera" type="submit" class="knapp" id="registrera" value="Registrera">
  </p>

</form>
</body>
</html>

Hur anropar jag funktionen?

Mvh
Henrik

@ndersMedlem sedan juni 200026 914 inlägg
#4

Som Travoni skrev:

alert(IsEnumber("4127595"));
devotionMedlem sedan jan. 20012 711 inlägg
#5

hmmm....
Det är säketrt så som Travioni skriver. Problemet är bara att mina kunskaper är bristfälliga...

När jag använt valideringsfunktioner tidigare så har jag gjort typ:

onsubmit="return check(this);"

Men lyckas jag inte tänka hr det ska vara...

Mvh

Peter SMedlem sedan dec. 20025 484 inlägg
#6

Hejsan! :)

function IsEnumber(f){
  var elms = f.elements,
       len = elms.length;

  for (var i = 0; i < len; ++i){
    if (!/^\d{7}$/.test(elms[i].value)){
      alert("...");
      return false;
    }
  }

  return true;
}

<form onsubmit="return IsEnumber(this)"...
devotionMedlem sedan jan. 20012 711 inlägg
#7

Aha... Great! :)

Tack allihop!

Red/ fast den släpper inte igenom en grupp om 7 siffror.... :(

Mvh
Henrik

Peter SMedlem sedan dec. 20025 484 inlägg
#8

Hmpf!

function IsEnumber(f){
  var elms = f.elements,
       len = elms.length;

  for (var i = 0; i < len; ++i){
    if (/^eNumber\d+$/.test(elms[i].name) && !/^\d{7}$/.test(elms[i].value)){
      alert("...");
      return false;
    }
  }

  return true;
}

<form onsubmit="return IsEnumber(this)"...
devotionMedlem sedan jan. 20012 711 inlägg
#9

:birp Är skitfull....
men det funkar i alla fall...
Tack Peter S! :birp

Mvh
Henrik

132 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
130 ms — hämta tråd, inlägg och bilagor (db)