Jag behvöer hjälp att skapa en regexp som tillåter
a-ö
A-Ö
0-9
_ ! . ? * - &
mellanslag
någon som kan hjälpa mig, mitt nuvarande ser ut såhär men verkar inte fungera korrekt o vill vetav ad jag gör för fel...
var regexp = /[^-\w!?*_\.,;]/;
11 svar · 404 visningar · startad av Smultron
Jag behvöer hjälp att skapa en regexp som tillåter
a-ö
A-Ö
0-9
_ ! . ? * - &
mellanslag
någon som kan hjälpa mig, mitt nuvarande ser ut såhär men verkar inte fungera korrekt o vill vetav ad jag gör för fel...
var regexp = /[^-\w!?*_\.,;]/;
"/^[a-zåäöÅÄÖ0-9_!.?*-& ]$/i"
Jag brukar söka efter otillåtna tecken, för att se om strängen är ok.
var regexp = /[^-\da-zåäö_!.?*& ]/i;
if(!regexp.test(str)) {
// str är en godkänd sträng
} else {
// str innehåller något otillåtet tecken
}
dectgap skrev:
Jag brukar söka efter otillåtna tecken, för att se om strängen är ok.
var regexp = /[^-\da-zåäö_!.?*& ]/i;if(!regexp.test(str)) {
// str är en godkänd sträng
} else {
// str innehåller något otillåtet tecken
}
Han vill att tecknen ska tillåtas. Inte tvärtom.
//Tog bort kod-taggen så att funkar
Jag har dubbel negation, både i regexpen och i if-satsen.
"Om det inte finns ett tecken som inte tillåts, så är strängen ok."
dectgap skrev:
Jag har dubbel negation, både i regexpen och i if-satsen.
"Om det inte finns ett tecken som inte tillåts, så är strängen ok."
Oj...missade utropstecknet. En fråga dock. Funkar i på åäö? Förstår den att åäö toupper = ÅÄÖ?
danii skrev:
dectgap skrev:
Jag har dubbel negation, både i regexpen och i if-satsen.
"Om det inte finns ett tecken som inte tillåts, så är strängen ok."Oj...missade utropstecknet. En fråga dock. Funkar i på åäö? Förstår den att åäö toupper = ÅÄÖ?
Jajamensan.
detta funkar men jag vill också lägga till radbrytningar, det funkar inte om jag har en radbrytning nu. eller det går som att det blir fel i min sträng då testa at t läga till \n men funkar inte
nej det går tyvär inte för så fort jag har en radbrytning med i min text blir det fel
Nu säjer jag inte att jag greppat RegExp fullt ut än men, ".", "?" och "*" är specialtecken och ska väl skrivas med ett "\" innan? Så alltså
"/^[\w!\.\?\*-& ]+$/"
\w för "a-zA-Z0-9_"
/Jonas
MAge skrev:
Nu säjer jag inte att jag greppat RegExp fullt ut än men, ".", "?" och "*" är specialtecken och ska väl skrivas med ett "\" innan? Så alltså
"/^[\w!\.\?\*-& ]+$/"
\w för "a-zA-Z0-9_"
/Jonas
Man behöver inte escapea ? . * eller andra specialtecken om man skriver dem i en character-class.
Och visserligen innehåller \w tecknen a-zA-Z0-9_, men \w innehåller fler tecken än så, t ex ßûÿ.
Smultron skrev:
nej det går tyvär inte för så fort jag har en radbrytning med i min text blir det fel
str = "Här är en sträng med \n radbrytning.";
var regexp = /[^-\da-zåäö_!.?*&\n ]/i;
if(!regexp.test(str)) {
alert("Strängen är godkänd.");
} else {
alert("Strängen är INTE godkänd.");
}
Vad får du för meddelande när du testar den koden då?
Eventuellt skulle du kunna utvidga till:
var regexp = /[^-\da-zåäö_!.?*&\n\r ]/i;