Javascript regex || omvänd match

Permalänk
Medlem

Javascript regex || omvänd match

Hejsan SweC.

Har lite funderingar kring regex, idag gör jag enligt:

var input = $("#userInput :input"); for(var i = 0; i < input.length; i++){ if(input[i] && 0 !== input[i].length; var tmp = input[i].value; if(tmp && (! /[a-z0-9]+/.test(tmp) || tmp.includes("-"))){ alert("You have used non-supported characters"); return; } // Do stuff... }

I koden ovan funkar allt som det ska men jag hade hoppas på att regex uttrycket skulle reagera på "-", som den reagerar på "+", "?", osv men inte just "-" av någon anledning och kan jag inte förstå varför. Så det jag söker är helt enkelt att på något sätt säga till att vi inte stödjer "-" utan att använda "tmp.includes("-")". Är det någon som förstår varför regex uttrycket är fel och kanske kan ge förslag på hur det kan bättras?

Tack för svar!

P.S: Om det är syntax error eller nåt i koden ovan är för att jag har fri handat den nu bara för att visa på ett ungefär hur koden ser ut utan att faktiskt posta den.

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

Jag lyckades nu lösa detta genom att ändra regex till

/[^a-z0-9+/.test(tmp)

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6