2016-06-03 14 views
-2

Dies wird es dem Benutzer erlauben, a-z eingeben, aber wie 0-9 und Bindestrich hinzufügen? /^[a-zA-Z\s]*$/;erlauben 1-9 und Strich regex

+0

Werden Sie Benutzer erlauben [whitespace] eingeben ? – weigreen

+1

Haben Sie eine Anleitung zur Verwendung von regulären Ausdrücken gelesen? Da dies ganz allgemein abgedeckt und grundlegend ist. Du meinst auch, dass du 0-9 oder 1-9 abdecken willst, der Titel und der Kontext der Frage variieren. –

+0

@SpencerWieczorek Ich weiß nur nicht, wo die '-' –

Antwort

1
/^[a-zA-Z\d\s-]*$/ 
  1. Der Bindestrich am Ende der Zeichenklasse ([]) braucht nicht anders maskiert werden, können Sie entweder 0-9 oder einfach \d können Passend Ziffern \-
  2. verwenden, abhängig von Ihrem Regex-Geschmack.

Regex Erläuterung:

^[a-zA-Z\d\s-]*$ 

Assert position at the beginning of a line (at beginning of the string or after a line break character) (line feed) «^» 
Match a single character present in the list below «[a-zA-Z\d\s-]*» 
    Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*» 
    A character in the range between “a” and “z” (case insensitive) «a-z» 
    A character in the range between “A” and “Z” (case insensitive) «A-Z» 
    A “digit” (any decimal number in any Unicode script) «\d» 
    A “whitespace character” (any Unicode separator, tab, line feed, carriage return, vertical tab, form feed, next line) «\s» 
    The literal character “-” «-» 
Assert position at the end of a line (at the end of the string or before a line break character) (line feed) «$» 
+0

' \ s' ist für was? kann ich '\ s @'? –

+0

@HarisZ ['\ s'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#special-white-space) ist ein einzelnes Leerzeichen. Sie können, wenn Sie aus irgendeinem Grund versuchen, '" [white space char] @ "' zu entsprechen. –

+0

'\ s' Entspricht einem" Leerzeichen "(beliebiges Unicode-Trennzeichen, Tabulator, Zeilenvorschub, Wagenrücklauf, vertikale Registerkarte, Seitenvorschub, nächste Zeile) –

0

Sie suchen /^[1-9-]*$/

Hier ist ein Javascript Beispiel:

var reg = new RegExp("^[1-9-]*$"); 
var s = '1234-5678'; 
if (reg.exec(s)) { 
    console.log("Match\n"); 
} else { 
    console.log("No match\n"); 
} 
+0

Was ist '= ~'? Zum ersten Mal sehe ich das. –

+0

In Perl wird getestet, ob der Wert in der Variablen $ s mit der Regex übereinstimmt. – user212514

+0

Ich bin nicht sicher, warum ein Beispiel in Perl gegeben wurde, ein JavaScript-Beispiel wäre angemessener. –