Vill du plocka ut några delar eller endast validera formatet? Om det senare:
^(?:\d+\s(?:[^0-9 ]+\s){1,3}(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){3}(?:\d\s?){13}(?:\r\n)?)+$/i
6 svar · 299 visningar · startad av asp
Hej...
Söker ett uttryck som accepterar följande.
Se bifogad bild!
* Ett nummer i början.
* Ett namn som består av antingen ett, två eller tre ord.
* Ett värde som består av ett, två eller tre tal med en valuta på slutet. Ex. 13 400 SEK, 400 MM, 2 000 300 CHF.
* Motsvarande grej med lönen.
* Ålder som består av ett tal.
* Längd som består av ett tal.
* Vikt som består av ett tal.
* Tretton tal mellan 0-10.
Jag har försökt med något liknande...
/^(\d+)\s(\w\s)+((\d+)\s)+(\w+)\s((\d+)\s)+(\w+)\s((\d+)\s){3}(\d|10){13}$/
Vill du plocka ut några delar eller endast validera formatet? Om det senare:
^(?:\d+\s(?:[^0-9 ]+\s){1,3}(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){3}(?:\d\s?){13}(?:\r\n)?)+$/i
Validera ja...
Jag vet inte varför du avslutar och börjar på ett annat sätt än vad jag brukar göra... skall man inte börja med / och sluta med /.... vad gör i där?
var re = ^(?:\d+\s(?:[^0-9 ]+\s){1,3}(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){3}(?:\d\s?){13}(?:\r\n)?)+$/i;
if(!re.test(s)) {
return false;
}
'i' står för case-insensitive. Det låter oss skriva ex. [a-z] istället för [A-Za-z].
Den tillåter inte följande sträng. (Jag lade till / före ^, skulle jag det?)
18 Viktor Lundqvist 2 495 744 SEK 32 155 SEK 25 198 106 4 5 2 0 4 0 2 1 7 1 1 5 7
Japp!
Fungerar för mig dock:
<script>
function f(r)
{
r.elements[1].value = /^(?:\d+\s(?:[^0-9 ]+\s){1,3}(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){1,3}(?:[a-z]+)\s(?:\d+\s){3}(?:\d\s?){13}(?:\r\n)?)+$/i.test(r.elements[0].value) ? "Godkänt" : "Ej godkänt";
}
</script>
<form>
<textarea cols=60 rows=20>
16 Fredrik Gustavsson 1 381 103 SEK 24 240 SEK 25 182 79 5 3 4 4 2 2 0 4 2 2 1 5 7
18 Viktor Erik Lundqvist 2 495 744 SEK 32 155 SEK 25 198 106 4 5 2 0 4 0 2 1 7 1 1 5 7
19 abc 2 366 266 EUR 0 EUR 18 161 63 3 1 0 1 1 1 5 5 3 0 0 1 0
20 Lennart Billing 296 835 SEK 0 SEK 18 180 86 6 4 1 2 0 1 1 1 7 2 3 0 4
</textarea>
<textarea cols=60 rows=20></textarea>
<input type=button onclick="f(this.form)" value="OK">
</form>
Tackar, dumt fel av mig. Hade ersatt alla mellanslag med kolon. Så jag ändrade \s till :