suchen

Heim  >  Fragen und Antworten  >  Hauptteil

js regulärer Ausdruck {} Bereich – Stapelüberlauf

Reguläre Übereinstimmung: Beginnend mit einem Kleinbuchstaben und endend mit einem Kleinbuchstaben, in der Mitte kann ein Bindestrich (-) stehen und die Länge beträgt weniger als 32 Zeichen

var ss = /^[a-z]+([A-Za-z0-9_]|(-?)|[a-z]+$){1,31}/;
str="ss-fjdkkldjkskjdskjdksjdkjdkjklskssdkdkffdkdfkdfk";
ss.test(str);

Das zurückgegebene Ergebnis ist
true
Normalerweise sollte es false zurückgeben.
{1,31} bedeutet, dass der Bereich vor dem Abgleich zwischen 1 und 31 liegt. Warum ist der Abgleich falsch?

黄舟黄舟2764 Tage vor976

Antworte allen(2)Ich werde antworten

  • 怪我咯

    怪我咯2017-06-12 09:34:53

    这个正则我的理解是表示以字母a-z开头,然后()中的内容出现1到31次,
    ()中表示A-Z a-z 0-9 _ - 其中任意一个可以出现>=1次

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-12 09:34:53

    正则表示式可以这样写

    /^(?=.{1,32}$)[a-z]\w*(?:-\w*[a-z])?$/

    Antwort
    0
  • StornierenAntwort