Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение не получается (https://javascript.ru/forum/misc/12017-regulyarnoe-vyrazhenie-ne-poluchaetsya.html)

sairus 26.09.2010 17:00

Регулярное выражение не получается
 
Понадобилось сделать проверку, соответсвует ли строка неоходимому критерию.

Требуется найти:
Содержит ли строка 20 цифр ИЛИ 10 латинских символов вместе с цифрами?

Вот к чему привели мои мучения:

/([^A-z0-9]){1,10}|([0-9]){1,20}$/

Он не работает(((

Читал я документацию, но так, как мало примеров тяжело понять как составлять эти выражения.
Если знаете, как правильно сформалировать маску, подскажите, пожалуйста!

exec 26.09.2010 17:47

/^(?:\w{,10}|\d{,20})$/i

рони 27.09.2010 04:46

<script language="JavaScript" type="text/javascript">
var str = '12345678901234567890';
var str1 = '1234567890R';
var str2 = '123456789R';
function foo(a) {
    if (/^\d{20}$/.test(a) || a.length == 10 && /[A-z]/.test(a) && /\d/.test(a) && !a.replace(/[A-z0-9]/g, "")) return true;
    return false
};
document.write(foo(str)+" "+foo(str1)+" "+foo(str2))
</script>

KamaZz 27.09.2010 12:20

http://regexpr.ru/

Riim 27.09.2010 16:17

http://realcode.ru/regexptester/


Часовой пояс GMT +3, время: 20:27.