chciałem sprawdzić wartość ciągu, jeżeli jest zawierający litera/s [a-zA-Z]Jak sprawdzić w JavaScript że ciąg zawiera znaki alfabetu
Przykład:
var str = '123z56';
chciałem sprawdzić wartość ciągu, jeżeli jest zawierający litera/s [a-zA-Z]Jak sprawdzić w JavaScript że ciąg zawiera znaki alfabetu
Przykład:
var str = '123z56';
Nie jQuery Potrzebne
if (str.match(/[a-z]/i)) {
// alphabet letters found
}
Jestem początkującym z tymi rzeczami, więc 'match (/ [az]/i)' zwróci 'true 'lub' false'? A po co jest "i" w środku? – user3050478
Flaga 'i' jest dla niewrażliwych na wielkość liter. Funkcja 'match' zwraca tablicę dopasowań. Jeśli nie ma dopasowań, zwraca pustą tablicę, która jest równoważna "false" (o ile nie używasz potrójnych znaków równości). –
Ahh, znalazłem odpowiedź sobie:
if (/[a-zA-Z]/.test(num)) {
alert('Letter Found')
}
Nie ma jQuery potrzebne:
var matchedPosition = str.search(/[a-z]/i);
if(matchedPosition != -1) {
alert('found');
}
Można użyć wyrażenia regularnego:
/[a-z]/i.test(str);
i
sprawia regex wielkości liter. Można również zrobić:
/[a-z]/.test(str.toLowerCase());
To powinna być poprawna odpowiedź. Odpowiedź z @jondavidjohn pasuje tylko do znalezionej litery. tj. 'str.match (/ [a-z]/i)'. Ta odpowiedź faktycznie zwraca wartość true lub false. – samnau
Ja też lubię to rozwiązanie. – bot
Ma to dodatkową zaletę, którą można przetestować w odniesieniu do zmiennej zawierającej również cyfrę; 'var a = 1; /[a-z]/i.test(a) zwraca false'. Natomiast 'a.match' jest niezdefiniowaną metodą. –
zinternacjonalizowany wersja tego pytania http://stackoverflow.com/questions/2013451/test-if-string-contains-only-letters-az-%C3%A9-%C3 % BC-% C3% B6-% C3% AA-% C3% A5-% C3% B8-etc –