2017-03-04 2 views
2

Kia Ora beenden, ich versuche zu beweisen, wenn eine Zeichenfolge nicht leer ist und die verwendeten Zeichen sind nur A-Za-z und der Punkt. Das ist nicht sehr komplex und kann damit fertig werden:Regex Javascript in alphabetischer Reihenfolge mit Punkt, nicht beginnen oder

var str = "Aj.fwfw.MMf"; 
var regex = new RegExp("/^[a-zA-Z.]+$/"); 
if(str.match(regex)) { } 

Mein Problem ist, dass ich nicht will Punkt am Anfang haben, das Ende oder mehr als einen Punkt in einer Reihe. So Dinge wie ". FshdfhUUhd.d", "jjf." und "fff..gg" sind verboten.

Kann jemand das lösen? Ich möchte es in eine Regex setzen, aber wenn das nicht möglich ist, kann es auch mehr sein, kombiniert mit & & in der if-Schließung.

Antwort

2

Verwenden

var regex = /^[a-zA-Z]+(?:\.[a-zA-Z]+)*$/; 

die regex demo See.

Einzelheiten:

  • ^ - Beginn der Zeichenfolge
  • [a-zA-Z]+ - eine oder mehr Buchstaben
  • (?:\.[a-zA-Z]+)* - 0+ Sequenzen:
    • \. - ein Punkt
    • [a-zA-Z]+ - eins oder mehr Buchstaben
  • $ - Ende der Zeichenfolge.
+1

Danke, das funktioniert gut! Ich wünsche ihnen einen wunderbaren Tag. – FranzFerdinand

Verwandte Themen