Вопрос или проблема
У меня есть этот код на странице регистрации для отображаемого имени:
If (Len(Request.Form("name")) < 3) Or (Len(Request.Form("name")) > 50) Then ProblemsWithRegister = 1
Поскольку я хотел бы, чтобы пользователи использовали формат имя/фамилия, есть ли способ добавить проверку, которая не только проверяет количество символов (в настоящее время < 3 > 50), но и проверяет, состоит ли это из одного слова?
Спасибо тем, кто готов помочь.
Я пытался добавить два отдельных поля, но мне не понравилось объединять их в одно поле имени в базе данных.
Также пользователи, похоже, путались с тем, что нужно было вводить.
Ответ или решение
Чтобы обеспечить правильную проверку имени пользователя на вашей странице регистрации, вы можете использовать следующий код, который проверяет как длину строки, так и формирует ли строка два слова (имя и фамилия). Я предложу вам несколько изменений в вашем коде, чтобы сделать это более эффективным и понятным.
Вот обновленный код:
If Len(Request.Form("name")) < 3 Or Len(Request.Form("name")) > 50 Then
ProblemsWithRegister = 1
ElseIf InStr(Request.Form("name"), " ") = 0 Then
ProblemsWithRegister = 1 ' Если пробелов нет, это одно слово
Else
Dim words() As String
words = Split(Request.Form("name"), " ")
If UBound(words) < 1 Then
ProblemsWithRegister = 1 ' Должно быть минимум 2 слова
End If
End If
Объяснение кода:
-
Проверка длины: Первая часть кода проверяет, что длина введенного имени находится в пределах от 3 до 50 символов.
-
Проверка на наличие пробелов: Вторая проверка использует
InStr
, чтобы определить, есть ли пробелы в строке. Если пробелов нет, это значит, что пользователь ввел одно слово. - Разделение строки на слова: Если строка проходит предыдущие проверки, мы используем
Split
для разделения строки на массив слов. Если количество элементов в массиве (используяUBound
) меньше 1, это означает, что в строке недостаточно слов (должно быть как минимум имя и фамилия).
Рекомендации:
- Убедитесь, что пользователи получили ясные инструкции о том, что они должны вводить в поле "Имя". Напрямую указать, что требуется ввести два слова, может помочь избежать путаницы.
- Рассмотрите возможность использования регулярных выражений, если у вас будут дополнительные требования к формату ввода.
Если у вас есть дополнительные вопросы или возникнут трудности с реализацией, пожалуйста, дайте знать.