2011-07-20 16 views
5

Chcę, aby osoby próbujące zasubskrybować na mojej stronie internetowej, aby wprowadzić pseudonim, a ten pseudonim powinien składać się wyłącznie z liter i cyfr (bez znaków specjalnych).Ogranicz znaki do liter i cyfr w polu wprowadzania danych

Chciałbym coś w stylu: abcdefghijklmnopqrstuvwxyz1234567890 tylko.

Jak mogę sprawdzić, czy ma tylko te?

Odpowiedz

12

Rozwiązanie HTML5 będzie ...

<input type="text" id="input-nickname" name="nickname" pattern="[a-z\d]*" /> 

jsFiddle.

Jednak dla najlepszego wsparcia przeglądarki, można użyć JavaScript ...

document.getElementById('input-nickname').onkeyup = function(event) { 

    this.value = this.value.replace(/[^a-z\d]/, ''); 

} 

jsFiddle.

Aby wersja JavaScript była podobna do metody HTML5, spójrz na wydarzenie z formularza: submit.

Należy pamiętać, że ma to dość ścisłą definicję liter i cyfr. Aby uzyskać prawidłową obsługę standardu Unicode, znajdź zakresy, które Cię interesują i użyj \u0000-\uFFFF, aby je określić.

0

proponuję rzucić okiem na: RegEx library

Zawiera dużo RegEx że można przetestować bezpośrednio na stronie i zmieniać w zależności od potrzeb.

Zawsze używam go jako źródła, gdy potrzebuję pracować z RegEx. Link

-1

z javasacript

function testAlphanumeric(input){ 
var regex=/^[0-9A-Za-z]+$/; 
if(regex.test(input)){ 
alert("Good") 
return true; 
} else { 
alert("Incorrect") 
return false; 
} 
} 

źródło: http://newsourcemedia.com/blog/javascript-non-alphanumeric-characters-regex/

+0

Dzięki za odpowiedzi. Wersja javascript od alex wygląda bardzo fajnie. Ale próbowałem naciskać wiele liter naraz i kiedy zwolniam klawisze, nie usunie to wszystkich znaków specjalnych. Chcę tylko funkcji (php jest w porządku), która sprawdza albo wartość true, albo false, ciąg zawiera inne znaki niż a-z 0-9 – james

+0

Będę używał czegoś takiego, jak gdyby (preg_match ("REGEX", "string do sprawdzenia")) – james

Powiązane problemy