Wie kann ich führende Leerzeichen und End-Leerzeichen zurückweisen und erlauben nur ein Leerzeichen zwischen den Zeichen in JavaScript?Regex, um Platz am Anfang und Ende zu erlauben und erlauben nur ein Leerzeichen zwischen den Zeichen
Ich habe versucht, viele Muster, hier ist zuletzt:
^[^-\s][a-zA-Z0-9_\s-]*$
Aber dieser Raum überhaupt nicht gestattet.
Ich verwende [a-zA-Z0-9_\s-]
, weil ich nur englische Zeichen zulassen möchte.
Auch ich kann nicht trimmen oder ersetzen. Ich verbinde Tastendruck mit Eingabefeld in HTML und überprüfe das Muster und wenn regex.test(e.key)
falsch ist, deaktiviere ich das Ereignis.
Was meinst du mit "deaktivieren"? Meinst du entfernen? Oder nicht übereinstimmen? Meinst du ein ** total ** von einem Leerzeichen zwischen Zeichen, oder höchstens ein Leerzeichen zwischen ** irgendwelchen ** zwei Zeichen? Bitte zeigen Sie weitere Beispiele für Testeingaben und die Ergebnisse. Benötigen Sie eine Regexp, die mit einer gültigen Eingabe übereinstimmt, oder ist es akzeptabel, eine Übereinstimmung mit einer ungültigen Eingabe zu finden und nicht mit einer gültigen Eingabe übereinzustimmen? BTW der Name der Sprache ist "JavaScript". Überprüfen Sie bitte auch den Titel Ihrer Frage und schreiben Sie den ersten Buchstaben der Sätze (und das Wort "I *) wie in korrektem Englisch. –
passt() auf jede Tastatur, um Ihren Fall zu lösen? Sie können das nicht vorhersagen Leerzeichen in der Eingabe der letzte oder Benutzer wird es in den Buchstaben ändern. – Daniel