---
title: "fält måste innehålla både tal och bokstäver"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/96471-fält-måste-innehålla-både-tal-och-bokstäver"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "golgata"
published: "2004-02-03T12:28:08.000Z"
updated: "2004-02-03T15:31:43.000Z"
replies: 14
views: 578
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/96471-fält-måste-innehålla-både-tal-och-bokstäver"
---

# fält måste innehålla både tal och bokstäver

## #1 — golgata, 2004-02-03T12:28Z

Hur ser koden ut om man vill att lösenordfältet ska innehålla både bokstäver och siffror. Min kod ser ut såhär.

Formulär:

```
<form method="POST" action="nyttlosenklart.asp">
<input type="hidden" name="AD" value="<% =Request.QueryString("personal") %>"> <tr>
      <td valign="top">
<font face="Verdana" size="2">
<b>Här kan du ändra ditt lösenord<br>
</b></font>
<font face="Verdana" size="1">
<i>Lösenordet måste innehålla både siffror och bokstäver&nbsp; och innehålla 
minst 6 tecken</i></font>
  
          <p>
<font face="Verdana" size="1">
    <b>Gammalt lösenord</b></font>
<font face="Verdana" size="1">
      <br>
 
  <input type="password" name="oldlosen" size="10" style="font-size: 8pt; color: #0000CC; font-family: Tahoma; background-color: #EEEEEE; border: 1 solid #C0C0C0">
<font size="1" face="verdana" color="ff0000" > <%=session("fellosen2")%></font>
<br>
    <b>Nytt lösenord</b></font>
<font face="Verdana" size="1">
      <br>
 
  <input type="password" name="losen" size="10" style="font-size: 8pt; color: #0000CC; font-family: Tahoma; background-color: #EEEEEE; border: 1 solid #C0C0C0">
<font size="1" face="verdana" color="ff0000" > <%=session("fellosen1")%></font>
<br>
<b>Repetera lösenord</b>
<br>
<input type="password" size="10" name="losen1" style="font-size: 8pt; color: #0000CC; font-family: Tahoma; background-color: #EEEEEE; border: 1 solid #C0C0C0">
 <font size="1" face="verdana" color="ff0000" > <%=session("fellosen1")%></font>   
    <br>
    <br>
      <input type="submit" value="Ändra lösenord" style="font-weight: bold; font-size: 8pt; color: #0000CC; font-family: Tahoma; background-color: #EEEEEE; border: 1 solid #C0C0C0">
  
</form>
```

sparar lösenordet:

koden ser ut såhär.

```
<!-- #include file="opendatabas.inc" -->
<% Set RecSet = Server.CreateObject("ADODB.Recordset")
  Uppdatera = "SELECT * FROM behoriga WHERE ID = " & session("id") & ""

  RecSet.Open Uppdatera, Connect, adOpenStatic, adLockOptimistic %>

<% 
oldlosen     = Request.Form("oldlosen")
losen     = Request.Form("losen")
losen1     = Request.Form("losen1")
idnr = Request.Form("ad")

if oldlosen = Recset("losen") Then
Session("fellosen2")=Abandon
Else
Session("fellosen2") = "Du har skrivit fel lösenord."
Response.Redirect("nyttlosen.asp?personal=" & Request.Form("AD") & "")
end if

if losen <> losen1 Then
Session("fellosen1") = " Du måste skriva samma lösenord på båda raderna"
Response.Redirect("nyttlosen.asp?personal=" & Request.Form("AD") & "")
else
Session("fellosen1")=Abandon
end if

%>
<%
RecSet("namn") = Session("namn")
RecSet("login") = Session("login") 
RecSet("losen") = Request.Form("losen")
    RecSet.Update
     %>
```

Permalänk: https://www.webforum.nu/p/96471

## #2 — @nders, 2004-02-03T12:31Z

Din kod ser snyggare ut om du använder \[kod\]-taggar.

Permalänk: https://www.webforum.nu/p/1268277

## #3 — golgata, 2004-02-03T12:32Z

men det var inte det jag frågade efter \*ler\*

Permalänk: https://www.webforum.nu/p/1268279

## #4 — J.N., 2004-02-03T12:34Z

HEJ!

Håller med, dessutom används inte spara-sidan för detta, javacript (fel forum?) gäller, och RegExp! 

Så här gör jag för att kontrollera 4 bokstäver + 2 siffror

```
var reg = new RegExp();
reg = /\W/;
var losen = form.losen1.value;
var elaka = reg.exec(losen);
if (elaka != null){
	alert("Du har ogiltiga tecken\r\ni ditt lösenord.");
	form.losen1.focus();
	return (false);
}
var reg = new RegExp();
reg = /\w{6,}/;
var antal = reg.exec(losen); //null om ej 6
if ((antal == null) || (form.losen1.value.length > 8)){
	alert("Lösenordet ska vara sex till åtta\r\ntecken, varav minst två siffror.");
	form.losen1.focus();
	return (false);
}
var reg = new RegExp();
reg = /\d{1}/;
var siffra1 = reg.exec(losen);
var hoger_losen =  RegExp.rightContext
var siffra2 = reg.exec(hoger_losen);
if (siffra2 == null){
	alert("Du måste ha minst två siffror")
	form.losen1.focus();
	return (false);
}
```

Permalänk: https://www.webforum.nu/p/1268280

## #5 — @nders, 2004-02-03T12:38Z

> **golgata skrev:**
>
> men det var inte det jag frågade efter \*ler\*

Nej, det är riktigt. 

Du kan inte tänka dig att redigera in lite kod-taggar så koden går att läsa?

Permalänk: https://www.webforum.nu/p/1268282

## #6 — OveRRidE, 2004-02-03T12:48Z

> **golgata skrev:**
>
> men det var inte det jag frågade efter \*ler\*

Passa på att läsa [den här tråden](http://www.webforum.nu/showthread.php?s=&threadid=55116&forumid=22) innan du / jag redigerar ditt inlägg.

MVH
OveRRidE
moderator, wF

Permalänk: https://www.webforum.nu/p/1268289

## #7 — golgata, 2004-02-03T12:52Z

oki ska tänka på det i fortsättningen. 

men det ska gå att göra med asp också. 

men om det bara är tvunget med en siffra hur gör man då?

Permalänk: https://www.webforum.nu/p/1268291

## #8 — Engine^, 2004-02-03T12:54Z

Nästan samma sak i VBScript blir typ

```
Function ValidatePassword(strPW)
  Dim objRX, intLen

  intLen = Len(strPW)

  If intLen < 6 Then
    ValidatePassword = False
  Else
    Set objRX = New Regexp
    objRX.Global = True
    objRX.IgnoreCase = True
    objRX.Pattern = "(.*\d){2,}"

    ValidatePassword = objRX.Test(strPW)

    objRX.Pattern = "[a-z]"

    ValidatePassword = ValidatePassword And objRX.Test(strPW)
  End If
End Function

Response.Write ValidatePassword("abc2k4")
```

Permalänk: https://www.webforum.nu/p/1268294

## #9 — golgata, 2004-02-03T12:56Z

men var ska jag lägga detta i koden? precis innan submit eller?

Permalänk: https://www.webforum.nu/p/1268295

## #10 — J.N., 2004-02-03T12:58Z

HEJ!

> men om det bara är tvunget med en siffra hur gör man då?

Om du menar i min kod är det

```
reg = /\d{1}/;
var siffra1 = reg.exec(losen);
var hoger_losen =  RegExp.rightContext
var siffra2 = reg.exec(hoger_losen);
if (siffra2 == null){
	alert("Du måste ha minst två siffror")
	form.losen1.focus();
	return (false);
}
```

som fixar det, ta bort detta helt enkelt. Pattern 'reg' kontrolleras två gånger, andra gången på det som är kvar, blir det inte träff där, är det fel.

Permalänk: https://www.webforum.nu/p/1268296

## #11 — Engine^, 2004-02-03T13:01Z

Vill du göra det innan du gör din submit får du lov att använda dig av **J.N.**s exempel med javascript.

Annars lägger du in det på sidan som du postar till... \<form action="hmmm.asp"\>

Permalänk: https://www.webforum.nu/p/1268298

## #12 — golgata, 2004-02-03T13:19Z

får det inte att fungera. har jag gjort rätt eller?

\<head\>
\<SCRIPT LANGUAGE="JavaScript"\>
\<!-- Begin

var reg = new RegExp();
reg = /\\W/;
var losen = form.losen1.value;
var elaka = reg.exec(losen);
if (elaka != null){
	alert("Du har ogiltiga tecken\\r\\ni ditt lösenord.");
	form.losen1.focus();
	return (false);
}
var reg = new RegExp();
reg = /\\w{6,}/;
var antal = reg.exec(losen); //null om ej 6
if ((antal == null) \|\| (form.losen1.value.length \> 8)){
	alert("Lösenordet ska vara sex till åtta\\r\\ntecken, varav minst två siffror.");
	form.losen1.focus();
	return (false);
}

// End --\>
\</SCRIPT\>
\</head\>

Permalänk: https://www.webforum.nu/p/1268305

## #13 — J.N., 2004-02-03T13:24Z

HEJ!

Njae, har du BARA klistrat in min kod utan att översätta den till dig fungerar det ju inte.

Dessutom: OM du har en gammal version av VB-motorn (?) fungerar inte RegExp, men det är nog endast problem om du kör NT4.

Permalänk: https://www.webforum.nu/p/1268307

## #14 — M.Cheraghi, 2004-02-03T15:05Z

> **J.N. skrev:**
>
> HEJ!
> 
> Njae, har du BARA klistrat in min kod utan att översätta den till dig fungerar det ju inte.
> 
> Dessutom: OM du har en gammal version av VB-motorn (?) fungerar inte RegExp, men det är nog endast problem om du kör NT4.

nee under 2000 kan script motorn vara för gammal också! (har jag fått erfara nyligen) men den går enkelt att hämta ner senaste versionen av Script motorn från microsoft! curr.ver: 5.6

Permalänk: https://www.webforum.nu/p/1268402

## #15 — J.N., 2004-02-03T15:31Z

HEJ!

Okej, där ser man, jag hade problem med det för några år sedan på en IIS4. Sedan dess har jag inte stött på det, bättre miljö helt enkelt!

Permalänk: https://www.webforum.nu/p/1268412

---

Tråden på webben: https://www.webforum.nu/amne/asp/96471-fält-måste-innehålla-både-tal-och-bokstäver
