Определение формата строки в Javascript - PullRequest
0 голосов
/ 17 июля 2011

Я пытаюсь решить (простую) проблему программирования в Javascript, и я не могу понять, как заставить ее работать.У меня есть программа, которая начинается с чтения текстовой строки с использованием приглашения.

Программа выводит либо «Действительное имя», либо «Недопустимое имя», в зависимости от того, соответствуют ли входные имена требуемому формату, а именно:

"фамилия, имя, отчество"

, где ни одно из имен не может содержать более 15 символов.

Я знаю, что есть простой способ сделать это, ноЯ не могу найти это нигде.Спасибо за вашу помощь!

Ответы [ 3 ]

1 голос
/ 17 июля 2011

Это должно работать (работало в моем тестировании):

// assuming there are no commas in fields
var string = "last name, first name, middle initial", 
string_array = string.split(', '), 
length = string_array.length;

for (i = 0; i < length; i++) {
    // changing string to 'blah, firrrrrsssttt nammme, bbbbb' outputs the alert message
    if (string_array[i].length > 15) alert('None of these can be more than 15 characters long. ' + string_array[i] + ' is too long');
}
1 голос
/ 17 июля 2011

Я бы не стал использовать \w, поскольку он включает такие символы, как _ и девять цифр. Рассмотрим регулярное выражение в следующем тесте:

<script>
    if ("Nami, Guilherme, P".match(/^[A-Z][a-z]{1,14}, [A-Z][a-z]{1,14}, [A-Z]\.?$/)) {
        alert("Valid");
    }
    else {
        alert("Invalid");
    }
</script>
1 голос
/ 17 июля 2011

используйте это регулярное выражение:

/^\w{0,15}, \w{0,15}, \w{0,15}\.?$/.test(name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...