Muszę znaleźć reg ex, który pozwala tylko na alfanumeryczny. Jak dotąd każdy, którego próbuję, działa tylko wtedy, gdy ciąg jest alfanumeryczny, co oznacza, że zawiera zarówno literę, jak i cyfrę. Chcę tylko jednego, który by na to pozwolił i nie wymagał obu.
javascript
regex
Użytkownik
źródło
źródło
[^\W_]
ale[a-z0-9]
/ i jest oczywistym sposobem.Jeśli chcesz zwrócić zastąpiony wynik, to zadziała:
To zwróci:
Zauważ, że gi jest konieczne, ponieważ oznacza globalne (nie tylko przy pierwszym dopasowaniu) i nie rozróżnia wielkości liter, dlatego mam az zamiast a-zA-Z. A ^ w nawiasach oznacza „cokolwiek poza tymi nawiasami”.
OSTRZEŻENIE: Alfanumeryczny jest świetny, jeśli właśnie tego chcesz. Ale jeśli używasz tego na rynku międzynarodowym jak na nazwisko lub obszar geograficzny, musisz wziąć pod uwagę znaki Unicode, czego to nie zrobi. Na przykład, jeśli masz nazwę taką jak „Âlvarö”, byłoby to „lvar”.
źródło
Użyj słowa klasy znaków. Poniższe jest równoważne z
^[a-zA-Z0-9_]+$
:Wyjaśnienie:
Użyj,
/[^\w]|_/g
jeśli nie chcesz dopasowywać podkreślenia.źródło
powyższe wyrażenie regularne dopuszcza spacje w łańcuchu znaków i ogranicza znaki specjalne. Dopuszcza tylko az, AZ, 0-9, spację, podkreślenie i myślnik.
źródło
lub, jeśli chcesz mieć co najmniej jeden znak:
Nawiasy kwadratowe oznaczają zestaw znaków. ^ oznacza początek wprowadzania. $ jest końcem wprowadzania (lub znakiem nowej linii, w zależności od opcji). \ s jest spacją.
Biała spacja przed i po jest opcjonalna.
Nawiasy są operatorem grupowania, który pozwala wyodrębnić potrzebne informacje.
EDYCJA: usunąłem moje błędne użycie zestawu znaków \ w.
źródło
Zamiast sprawdzać prawidłowy ciąg alfanumeryczny, można to osiągnąć pośrednio, sprawdzając ciąg pod kątem niepoprawnych znaków. Zrób to, sprawdzając wszystko, co pasuje do dopełnienia prawidłowego ciągu alfanumerycznego.
Oto przykład:
Zwróć uwagę na operator logiczny not at
isValid
, ponieważ testuję, czy łańcuch jest fałszywy, a nie czy jest poprawny.źródło
To zadziała
Akceptuje tylko znaki alfanumeryczne:
przypadki testowe zawieszone:
lub
Możesz także spróbować tego. wyrażenie to spełniało co najmniej jedną cyfrę i jeden znak oraz żadnych innych znaków specjalnych
w kącie może testować jak:
DEMO PLUNKERA
Odwołano: Wyrażenie regularne dla alfanumerycznego w Angularjs
źródło
Rozszerz prototyp łańcucha, aby mógł być używany w całym projekcie
Stosowanie:
źródło
Wprowadź te kody do SCRATCHPAD i zobacz akcję.
źródło
Wygląda na to, że wielu użytkowników zauważyło, że te wyrażenia regularne prawie na pewno zawiodą, chyba że będziemy ściśle pracować w języku angielskim. Myślę jednak, że istnieje prosty sposób, który nie byłby tak ograniczony.
Wszelkie znaki pasujące do tych ciągów zdecydowanie nie mają charakteru alfabetycznego.
Opcjonalnie możesz także wykryć cyfry, szukając cyfr od 0 do 9.
źródło
Spróbuj ... Zamień swój identyfikator pola na #nazwa ... az (od a do z), AZ (od A do Z), 0-9 (od 0 do 9)
źródło
JAVASCRIPT, aby akceptować tylko NUMERY, ALFABETY i SPECJALNE CHARECTERS
źródło
Nawet lepiej niż
Gayan Dissanayake
zaznaczono.Teraz
^[a-zA-Z0-9]+$
może być reprezentowany jako^\w+$
źródło
Mam ciąg podobny do Samsung Galaxy A10s 6.2-calowy (2 GB, 32 GB ROM) Android 9.0, (13MP + 2MP) + 8MP Dual SIM 4000mAh 4G LTE Smartphone - czarny (BF19)
Poniżej zrobiłem:
Zauważ, że pozwoliłem
,._-
następnie użyćsplit()
ijoin()
do zamiany,
na-
i spacji do-
odpowiednio.W końcu dostałem coś takiego:
samsung-galaxy-a10s-6.2-inch-2gb-32gb-rom-android-9.0-13mp-2mp-8mp-dual-sim-4000mah-4g-lte-smartphone-black-bf19-20
tego właśnie chciałem.Być może jest lepsze rozwiązanie, ale dla mnie to działa dobrze.
źródło
Zapisz tę stałą
teraz do sprawdzania części użyj .match ()
źródło
Jquery akceptuje tylko NUMERY, ALFABETY i SPECJALNE ŁADUNKI
Wprowadź tylko cyfry:
Wprowadź tylko alfabety:
Wprowadź inne niż alfabety i cyfry, takie jak znaki specjalne:
źródło