/ / regex - ako vytvoriť regulárny výraz v jquery - jquery, regex

regex - ako vytvoriť regulárny výraz v jquery - jquery, regex

Snažím sa overiť adresu URL, ale nie celú adresu URL. Chcem skontrolovať, či reťazec obsahuje com alebo co.uk a potom / a potom má znaky /. Nebudem sa obťažovať tým, čo začína tým, že to končí. Takže by to bol zápas co.uk/fewfwe alebo com/Grege

To je to, čo mám za sebou:

         $(document).ready(function () {
$("#SavePage").click(function (event) {
var regex = "/com|co.uk/[a-zA-Z]/";
var val = $("#URL").val();
if (val.match(regex) == null) {
alert("test");
event.preventDefault();

}
});
});

odpovede:

0 pre odpoveď č. 1

Môžete skúsiť nižšie uvedený výraz. Umožnilo by to ľubovoľný znak okrem n znak po poslednej /.

(?:com|co.uk)/.+

DEMO

Vyskúšajte nižšie uvedený regulárny výraz, iba ak chcete povoliť abecedy po poslednom / symbol.

(?:com|co.uk)/[A-Za-z]+

DEMO


0 pre odpoveď č. 2

Vložíte svoj regulárny reťazec do reťazca, ak by to malo byť doslovné znenie RegExp.

zmena

var regex = "/com|co.uk/[a-zA-Z]/";

na

var regex = /com|co.uk/[a-zA-Z]/;

0 pre odpoveď č. 3

Správna odpoveď je kombinácia ben"a Avinash RajOdpovede. Aby to fungovalo, musíte urobiť obe zmeny a ani jedna z nich nebude sama osebe postačovať. Navrhujem tiež začať s ., požadovať bodku skôr com alebo co.uk.

var regex = /.(?:com|co.uk)/[a-z]/i;

Dôležité: Toto si bude vyžadovať iba to, aby .com/ alebo .co.uk/ za ním nasleduje najmenej jedno písmeno. Nevyžaduje sa iba písmená, iba to, že prvá vec, ktorá nasleduje po / je list. Vyzerá to ako čudná požiadavka a pravdepodobne to nie je to, čo sa snažíte urobiť.

Nepotrebujete a + na konci, keď bude fungovať váš vzorový kód, ale verzia v skutočnom svete smieť potrebovať to. Niektoré možné variácie:

  • var regex = /.(?:com|co.uk)/./i; - Umožňuje ľubovoľný znak za lomkou
  • var regex = /.(?:com|co.uk)/[a-z]+$/i; - Umožní iba písmená za lomkou
  • var regex = /.(?:com|co.uk)/[w?&%=-]+$/i; - Bude zodpovedať väčšine URI
  • var regex = /S+.(?:com|co.uk)/S+$/i; - Bude sa zhodovať s celým URI, pokiaľ nebude medzera.

Existuje veľa možných variácií a tá správna bude závisieť od špecifík vašej situácie.