Hej för söker skriva en kod som kontrolerar så texten man skrivit in i ett formulär inte bryter mot följande regel: Använd Regular Expressions Vet inte om jag gjort rätt men får det inte att fungera.Kontrolera så att text inte har något ord som är längre än 15 tecken.
Max 15 tecken efter varandra sedan måste ett mellanrum komma.
Vet inte hur man gör detta. Försökte lite först men sedan kom jag fram till att jag inte hade en aning hur jag skulle göra, detta är koden jag skrev (som inte gör det jag är ute efter):
<code>
Dim TooBigWords
Dim words = Request.Form("Hed").split(" ")
Dim i As Integer
For i = 0 To words.Length
If words.Length > 10 Then
TooBigWords="True"
End If
Next i
</code>
Har en javascriot kod som gör det jag efterfrågar plus lite till men jag vill alltså ha en funktion som kollar om texten innehåller för många tecken i rad i vb.net.
Så här der i alla fall javascriptet ut (kanske kan hjälpa):
<code>
function mxw2(n)
{
if (n.nodeType == 3 /*Node.TEXT_NODE*/)
{
var flag = 0;
var words = n.data.split(" ");
for (var i = 0; i < words.length; i++)
{
if (words[i].length > mxw_max)
{
flag++;
words[i] = words[i].substr(0, mxw_max-2) + "...";
}
}
if (flag > 0) n.data = words.join(" ");
}
var children = n.childNodes;
for (var i = 0; i < children.length; i++) mxw2(children[i]);
}
</code>Sv: Kontrolera så att text inte har något ord som är längre än 15 tecken.
<code>
Dim Text As String = "hej"
System.Text.RegularExpressions.IsMatch(Text, "\b\w{16,}\b")
</code>
Text skall innehålla texten du vill kontrollera...
Funktionen returnerar True om den hittar ord som är längre än 15 tecken.
/ThomasSv:Kontrolera så att text inte har något ord som är längre än 15 tecken.
<code>
Dim Hed As String = Request.Form("Hed")
Dim checkHed = System.Text.RegularExpressions.IsMatch(Hed, "\b\w{16,}\b")
If checkHed=True Then
</code>
Fick följande felmeddelande:
BC30456: 'IsMatch' is not a member of 'RegularExpressions'.