Avatar billede jobb Nybegynder
26. oktober 2003 - 11:27 Der er 28 kommentarer og
1 løsning

tjek for lange ord

Hej eksperter jeg har en form som tjekker forskællige ting inden den poster, Jeg vil nu gerne have at den også tjekker om der findes ord i textarea der er for lange (mere end 25 tegn) og om indeholdet har ulovlige tegn i sig (@"+].osv) er der en skrapsak der kan det.


<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function validate(tagwall) {
//Navn-feltet
if (tagwall.navn.value == "" , tagwall.navn.value == "Navn*"){
alert("Husk at angive dit navn!");
document.tagwall.navn.focus();
return false;
}else {
//e-mail-feltet
if (document.tagwall.email.value.indexOf("@")==-1 || document.tagwall.email.value.indexOf(".")==-1) {
alert("Du har ikke udfyldt e-mail feltet korrekt");
document.tagwall.email.focus();
return false;
}else {
//Produkt-feltet   
if (tagwall.tekst.value == "" , tagwall.tekst.value == "Besked*") {
alert("Husk at angive noget tekst!");
document.tagwall.tekst.focus();
return false;
}
}
}
return true;
}
</SCRIPT>
Avatar billede roenving Novice
26. oktober 2003 - 11:35 #1
<script language="JavaScript" type="text/javascript">
function validate(tagwall) {
//Navn-feltet
if (tagwall.navn.value == ""||tagwall.navn.value == "Navn*"){
alert("Husk at angive dit navn!");
document.tagwall.navn.focus();
return false;
}else {
//e-mail-feltet
if (document.tagwall.email.value.indexOf("@")==-1 || document.tagwall.email.value.indexOf(".")==-1) {
alert("Du har ikke udfyldt e-mail feltet korrekt");
document.tagwall.email.focus();
return false;
}else {
//Produkt-feltet
reg = /(\w{25})|[\@\"\+\]]/gi
if (tagwall.tekst.value == ""||tagwall.tekst.value == "Besked*"||tagwall.tekst.value.match(reg)) {
alert("Husk at angive noget tekst!");
document.tagwall.tekst.focus();
return false;
}
}
}
return true;
}
</script>
Avatar billede roenving Novice
26. oktober 2003 - 11:37 #2
-- og i

[\@\"\+\]]

Kan du tilføje de tegn, som du ikke vil have med -- alle dem, du her har angivet skal 'escapes' (Backslash foran !-)

Nogle andre tegn skal også, så du kan måske lave listen lidt mere komplet !-)
Avatar billede jobb Nybegynder
26. oktober 2003 - 12:08 #3
jeg syntes ikke jeg kan få det til at virke med længden
Avatar billede jobb Nybegynder
26. oktober 2003 - 12:14 #4
jeg har en function der adder nogle smilies :) der tjekker den ikke om der er 25 men den gør med tekst?


<script type="text/javascript">
function AddTekst(tekst) {
    document.tagwall.tekst.value = document.tagwall.tekst.value + tekst;
}
</script>
Avatar billede roenving Novice
26. oktober 2003 - 12:14 #5
Den virker for mig (en simpel test !-)

<script language="javascript" type="text/javascript">
function dis(fld){
reg = /(\w{25})|[\@\"\+\]]/gi
if (fld.value == ""||fld.value == "Besked*"||fld.value.match(reg)) {
alert("Husk at angive noget tekst!");
fld.select();
fld.focus();
return false;
}}
</script>

<input id="felt1" name="felt1" type="text" value="Tom" onkeyup="dis(this);" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20"><br>
Avatar billede roenving Novice
26. oktober 2003 - 12:17 #6
Nej, den tester kun om der findes længder af bogstaver, tal og _ i grupper af 25 ...

-- hvis du også vil have andre tegn med i optællingen, skal vi:

reg = /([\w\;\-\)\}]{25})|[\@\"\+\]]/gi

-- hvilke tegn bruger du i dine smileys ?-)
Avatar billede jobb Nybegynder
26. oktober 2003 - 12:24 #7
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#5D9AEF" id="AutoNumber5" width="100">
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/happy.gif" onclick="AddTekst(':)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/bigsmile.gif" onclick="AddTekst(':d')"></td>
                    <td align="center">
                    <img border="0" src="smilie/ked.gif" onclick="AddTekst(':¨(')"></td>
                    <td align="center">
                    <img border="0" src="smilie/mad.gif" onclick="AddTekst(':@')"></td>
                  </tr>
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/tunge.gif" onclick="AddTekst(':p')"></td>
                    <td align="center">
                    <img border="0" src="smilie/ohh.gif" onclick="AddTekst(':o')"></td>
                    <td align="center">
                    <img border="0" src="smilie/glass.gif" onclick="AddTekst('(h)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/flov.gif" onclick="AddTekst(':$')"></td>
                  </tr>
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/uhh.gif" onclick="AddTekst(':|')"></td>
                    <td align="center">
                    <img border="0" src="smilie/mut.gif" onclick="AddTekst(':(')"></td>
                    <td align="center">
                    <img border="0" src="smilie/frek.gif" onclick="AddTekst(';)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/2.gif" onclick="AddTekst(':s')"></td>
                  </tr>
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/msn.gif" onclick="AddTekst('(m)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/time.gif" onclick="AddTekst('(o)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/mail.gif" onclick="AddTekst('(e)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/i.gif" onclick="AddTekst('(i)')"></td>
                  </tr>
                </table>
Avatar billede jobb Nybegynder
26. oktober 2003 - 12:29 #8
hvis jeg skriver :) mere end 25 gange er den lige glad men hvis jeg taster 25 tegn af t eller noget andet er den god nok
Avatar billede roenving Novice
26. oktober 2003 - 12:31 #9
-- så er der jo lige et par tegn som bliver lovlige !-)

reg = /([\w\;\-\)\}\@\(\:\¨\$\|]{25})|[\"\+\]]/gi
Avatar billede roenving Novice
26. oktober 2003 - 12:32 #10
Og i min test har jeg brugt onkeyup, det skal du nok ændre, hvis du bruge knapper til at indsætte tekst !-)
Avatar billede jobb Nybegynder
26. oktober 2003 - 12:54 #11
det er en textarea du får lige koden:

<script type="text/javascript">
function AddTekst(tekst) {
    tagwall.tekst.value = tagwall.tekst.value + tekst;
}
</script>
<script language="JavaScript" type="text/javascript">
function validate(tagwall) {
//Navn-feltet
if (tagwall.navn.value == ""||tagwall.navn.value == "Navn*"){
alert("Husk at angive dit navn!");
document.tagwall.navn.focus();
return false;
}else {
//e-mail-feltet
if (document.tagwall.email.value.indexOf("@")==-1 || document.tagwall.email.value.indexOf(".")==-1) {
alert("Du har ikke udfyldt e-mail feltet korrekt");
document.tagwall.email.focus();
return false;
}else {
//Produkt-feltet
reg = /(\w{25})|[\@\"\+\]]/gi
if (tagwall.tekst.value == ""||tagwall.tekst.value == "Besked*"||tagwall.tekst.value.match(reg)) {
alert("Husk at angive noget tekst!");
document.tagwall.tekst.focus();
return false;
}
}
}
return true;
}
</script>


<form name="tagwall" action="?mode=tagit" method="post" ONSUBMIT="return validate(this)">
                <input type="text" name="navn" size="32" value="Navn*" size="20" style="font-size: 10 px"><br>
                <input type="text" name="email" size="32" value="Email*" size="20" style="font-size: 10 px"><br>
                <textarea rows="4" name="tekst" cols="20">Besked*</textarea><br>
                <input type="text" name="hilsen" size="32" value="Venlig hilsen*" size="20" style="font-size: 10 px"><br>
                <input type="submit" value="Send" name="B1" style="font-size: 10 px"><input type="reset" value="Reset" name="B2" style="font-size: 10 px">
                </td>
                </tr>
                </table>
               
                </td>
                <td align="right" width="122" valign="top">
                <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#5D9AEF" id="AutoNumber5" width="100">
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/happy.gif" onclick="AddTekst(':)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/bigsmile.gif" onclick="AddTekst(':d')"></td>
                    <td align="center">
                    <img border="0" src="smilie/ked.gif" onclick="AddTekst(':¨(')"></td>
                    <td align="center">
                    <img border="0" src="smilie/mad.gif" onclick="AddTekst(':@')"></td>
                  </tr>
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/tunge.gif" onclick="AddTekst(':p')"></td>
                    <td align="center">
                    <img border="0" src="smilie/ohh.gif" onclick="AddTekst(':o')"></td>
                    <td align="center">
                    <img border="0" src="smilie/glass.gif" onclick="AddTekst('(h)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/flov.gif" onclick="AddTekst(':$')"></td>
                  </tr>
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/uhh.gif" onclick="AddTekst(':|')"></td>
                    <td align="center">
                    <img border="0" src="smilie/mut.gif" onclick="AddTekst(':(')"></td>
                    <td align="center">
                    <img border="0" src="smilie/frek.gif" onclick="AddTekst(';)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/2.gif" onclick="AddTekst(':s')"></td>
                  </tr>
                  <tr>
                    <td align="center">
                    <img border="0" src="smilie/msn.gif" onclick="AddTekst('(m)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/time.gif" onclick="AddTekst('(o)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/mail.gif" onclick="AddTekst('(e)')"></td>
                    <td align="center">
                    <img border="0" src="smilie/i.gif" onclick="AddTekst('(i)')"></td>
                  </tr>
                </table>
                </form>
Avatar billede jobb Nybegynder
26. oktober 2003 - 12:57 #12
:d:d:d:d:d:d:d:d:d:d:d:d:d vil den gerne tage men tttttttttttttttttttttttttt vil den ikke ???
Avatar billede roenving Novice
26. oktober 2003 - 12:58 #13
Sådan ?-)

<script type="text/javascript" language="JavaScript">
function AddTekst(tekst) {
    tagwall.tekst.value = tagwall.tekst.value + tekst;
}

function validate(tagwall) {
//Navn-feltet
if (tagwall.navn.value == ""||tagwall.navn.value == "Navn*"){
alert("Husk at angive dit navn!");
document.tagwall.navn.focus();
return false;
}else {
//e-mail-feltet
if (document.tagwall.email.value.indexOf("@")==-1 || document.tagwall.email.value.indexOf(".")==-1) {
alert("Du har ikke udfyldt e-mail feltet korrekt");
document.tagwall.email.focus();
return false;
}else {
//Produkt-feltet
reg = /([\w\;\-\)\}\@\(\:\¨\$\|]{25})|[\"\+\]]/gi;
if (tagwall.tekst.value == ""||tagwall.tekst.value == "Besked*"||tagwall.tekst.value.match(reg)) {
alert("Husk at angive noget tekst!");
document.tagwall.tekst.focus();
return false;
}
}
}
return true;
}
</script>
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:05 #14
lol jeg fatter ikke en s... af det java haha men takker.
Hvordan får jeg den så til at sige hvis teksten inde holder Besked*blabla må den heller ikke og heigh leighte (makere) teksten
ps. du får 150 point i alt for din store hjælp.
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:07 #15
reg = /([\w\;\-\)\}\@\(\:\¨\$\|]{25})|[\"\+\]]/gi; hvad gør den her.
Avatar billede roenving Novice
26. oktober 2003 - 13:08 #16
reg = /([\w\;\-\)\}\@\(\:\¨\$\|]{25})|[(Besked\*)\"\+\]]/gi;
if (tagwall.tekst.value == ""||tagwall.tekst.value == "Besked*"||tagwall.tekst.value.match(reg)) {
alert("Husk at angive noget tekst!");
document.tagwall.tekst.select();
document.tagwall.tekst.focus();
return false;
Avatar billede roenving Novice
26. oktober 2003 - 13:14 #17
// -- er en start og slut på en regular expression
() laver en gruppe
[] markerer at det kan være en hvilkensomhelst indenfor klammerne som tæller med
\w betyder tal, bogstaver eller _ (underscore)
\;\-\)\}\@\(\:\¨\$\| er en række af de tegn, som findes i dine smileys, som ikke allerede findes i \w
{25} betyder 25 lige efter hinanden (af det som står i [])
| betyder 'eller' dvs. den skal tage den parantes der står foran eller den, som står bagved

[(Besked\*)\"\+\]] betyder at det kan være 'Besked*', ", + eller ]

gi betyder Global caseInsensitive -- altså at den skal kigge overalt i tekststrengen og at den skal teste både små og store bogstaver !-)

Med .match på tekststrengen tester vi om der er nogle af de opstillede betingelser, der er sande, for så skal vi fortælle at det er forkert !o]
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:16 #18
reg = /([\w\;\-\)\}\@\(\:\¨\$\|]{25})|[\"\+\]]/gi; hvad gør den her.
ok fuck du er god.
Alert("tjen for for lange ord" næstelinie "og om der er Besker* i blant")
kan man det
Avatar billede roenving Novice
26. oktober 2003 - 13:19 #19
Ja:

Alert("tjeck for for lange ord\nog om der er Besked* iblandt")
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:19 #20
har læst 13:14:54 tak for det
Avatar billede roenving Novice
26. oktober 2003 - 13:20 #21
-- og velbekomme '-)
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:21 #22
hgn hehehehehehehehehehehehehehehflewhfkjlwehfjkewhfjklehfjelfqhhlf hvorfor kan den godt akseptere det
Avatar billede roenving Novice
26. oktober 2003 - 13:29 #23
-- den åd det ikke i min test ?-)
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:33 #24
Jeg kan ik få den til det

<script type="text/javascript" language="JavaScript">
function AddTekst(tekst) {
    tagwall.tekst.value = tagwall.tekst.value + tekst;
}

function validate(tagwall) {
//Navn-feltet
if (tagwall.navn.value == ""||tagwall.navn.value == "Navn*"){
alert("Husk at angive dit navn!");
document.tagwall.navn.focus();
return false;
}else {
//e-mail-feltet
if (document.tagwall.email.value.indexOf("@")==-1 || document.tagwall.email.value.indexOf(".")==-1) {
alert("Du har ikke udfyldt e-mail feltet korrekt");
document.tagwall.email.focus();
return false;
}else {
//Produkt-feltet
reg = /([\w\;\-\)\}\@\(\:\¨\$\|]{25})|[(Besked\*)\"\+\]]/gi;
if (tagwall.tekst.value == ""||tagwall.tekst.value == "Besked*"||tagwall.tekst.value.match(reg)) {
Alert("tjeck for for lange ord\nog om der er Besked* iblandt");
document.tagwall.tekst.select();
document.tagwall.tekst.focus();
return false;
}
}
}
return true;
}
</script>
Avatar billede roenving Novice
26. oktober 2003 - 13:41 #25
Virker upåklageligt ?-)

<script type="text/javascript" language="JavaScript">
function AddTekst(tekst) {
    tagwall.tekst.value = tagwall.tekst.value + tekst;
}

function validate(tagwall) {
//Navn-feltet
if (tagwall.navn.value == ""||tagwall.navn.value == "Navn*"){
alert("Husk at angive dit navn!");
document.tagwall.navn.focus();
return false;
}else {
//e-mail-feltet
if (document.tagwall.email.value.indexOf("@")==-1 || document.tagwall.email.value.indexOf(".")==-1) {
alert("Du har ikke udfyldt e-mail feltet korrekt");
document.tagwall.email.focus();
return false;
}else {
//Produkt-feltet
reg = /([\w\;\-\)\}\@\(\:\¨\$\|]{25})|[(Besked\*)\"\+\]]/gi;
if (tagwall.tekst.value == ""||tagwall.tekst.value == "Besked*"||tagwall.tekst.value.match(reg)) {
alert("tjeck for for lange ord\nog om der er Besked* iblandt");
document.tagwall.tekst.select();
document.tagwall.tekst.focus();
return false;
}
}
}
return true;
}
</script>
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:51 #26
Jeg ved ikke hvad der gik galt men nu virker det den kode du sendte til mig kopieret jeg og nu virker det som det skal.
jeg har bare at sige til dig.
mit tastatur er slidt men det var det vær LOL.
jeg har sat point til 200 for din tid og din viden.
Avatar billede jobb Nybegynder
26. oktober 2003 - 13:52 #27
Du er dygtig inden for java takker mange gange.
Avatar billede roenving Novice
26. oktober 2003 - 13:53 #28
-- og jeg takker mange gange for den fyrstelige (sic!) belønning ;~}
Avatar billede jobb Nybegynder
26. oktober 2003 - 15:20 #29
lol np
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester