Regulärer Ausdruck, der Zahlen, Leerzeichen, Pluszeichen, Bindestriche und Klammern zulässt

Lesezeit: 2 Minuten

Ich verwende Jquery Validator, wo ich eine Methode hinzugefügt habe, um eine Zeichenfolge zu validieren, die nur Zahlen, Leerzeichen, Pluszeichen, Bindestrich und Klammern zulässt. Die Nummer ist in der Zeichenfolge obligatorisch, aber ein anderer Charterer ist optional.

Mein Code zum Hinzufügen von Methoden in jquery validor:

jQuery.validator.addMethod( "regex", function(value, element, regexp) {
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    },
    "Please check your input."
);

Folgender Code für die Regeln:

rules: {
myfield: {
    required: true,
    regex: "[0-9]+" // want to add regular expression but I wrote only for digit which works but do not understand how to reach at my requirements.
 },
}

  • Verwenden Sie ein Testprogramm für reguläre Ausdrücke, um mit verschiedenen Eingaben herumzuspielen und sie zu testen: regexpal.com

    – Michael Aaron Safyan

    30. Dezember 2014 um 8:12 Uhr

  • Eine einfache Suche nach „regulärer Ausdruckssyntax“ sollte Ihnen das Wissen vermitteln, das Sie zum intelligenten Erstellen und Debuggen benötigen.

    – Michael Aaron Safyan

    30. Dezember 2014 um 8:13 Uhr

Benutzeravatar von nu11p01n73R
nu11p01n73R

Sie können die erforderlichen Zeichen in die Zeichenklasse als hinzufügen

/^(?=.*[0-9])[- +()0-9]+$/

Regex-Demo

Regex-Erklärung

  • (?=.*[0-9]) positiver Blick nach vorn. Stellt sicher, dass mindestens eine Ziffer vorhanden ist

  • [- +()0-9]+ Entspricht Zahlen, Leerzeichen, Pluszeichen, Bindestrichen und Klammern

ODER

Wenn Sie die Vorausschau nur ungern verwenden. Sie könnten ohne sie eine längere Regex als schreiben

/^[- +()]*[0-9][- +()0-9]*$/

  • Ohne Vorausschau: /^[- +()]*[0-9][- +()0-9]*/

    – Brainstorming

    30. Dezember 2014 um 8:20 Uhr

  • Vielen Dank, “/^[- +()]*[0-9][- +()0-9]*$/” es löst mein Problem.

    – Nimesh Vagadiya

    26. November 2015 um 10:44 Uhr

  • Ich verwende Ihre REGEX in meiner eckigen 2-App im Muster als <input class="input-minimal" pattern="^(?=.*[0-9])[- +()0-9]+$" [(ngModel)]="staff.mobile" name="staffMobile" formControlName="mobile" required type="text"> <span class="error-msg" *ngIf="!addStaffForm.controls['mobile'].valid && (addStaffForm.controls['mobile'].touched || isFormSubmited)" translate>Please enter a valid mobile number</span> Aber es funktioniert nicht für Nummern wie (808)8997646. Bitte helfen Sie

    – Yashwardhan Pauranik

    16. Oktober 2017 um 10:13 Uhr


  • Danke für diese Erklärung.

    – Amit

    5. April 2018 um 12:08 Uhr

1403630cookie-checkRegulärer Ausdruck, der Zahlen, Leerzeichen, Pluszeichen, Bindestriche und Klammern zulässt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy