Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
 
JohnCooper93
0 / 0 / 0
Регистрация: 14.10.2016
Сообщений: 2
#1

RegEx удовлетворяющее требованиям: алфавитные символы, пробелы, апострофы, дефисы. От 1 до 40 символов. - JavaScript

08.12.2017, 19:41. Просмотров 423. Ответов 2

Здравствуйте,

Помогите пожалуйста найти ошибку в паттерне. Необходимо что бы имя юзера могло содержать только алфавитные символы, пробелы( неограниченное число ), апострофы ( ' - неограниченное число ), и дефисы ( неограниченное число ). И размер от 1 до 40 символов.

Java
1
^^[a-zA-Z]+[\-\'\s]?[a-zA-Z ]{1,40}$
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2017, 19:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос RegEx удовлетворяющее требованиям: алфавитные символы, пробелы, апострофы, дефисы. От 1 до 40 символов. (JavaScript):

В строке символов требуется удалить повторяющиеся символы и все пробелы
Исходные данные: В строке символов требуется удалить повторяющиеся символы и...

Удалить из заданного текста символы “пробелы” и подсчитать количество удаленных символов
Удалить из заданного текста символы “пробелы” и подсчитать количество удаленных...

Удвоить пробелы в строке символов, введенных с клавиатуры; символы, являющиеся цифрами - удалить
Ребята не могу найти ошибку помогите пожалуйста. Написать программу, которая...

Заменить все символы, не являющиеся буквами или цифрами на апострофы
Дан текст. Преобразовать его, заменив все символы, не являющиеся буквами или...

Regex для пароля: добавить проверку на пробелы
Всем привет. И сразу к вопросу, кто знает, подскажите пожалуйсто. Я использую...

Ненужные символы из файла. regex?
Всем привет. Имею файл, с примерно таким содержимым, как во вложении(отличие...

2
klopp
140 / 140 / 97
Регистрация: 14.10.2017
Сообщений: 447
10.12.2017, 11:06 #2
Лучший ответ Сообщение было отмечено JohnCooper93 как решение

Решение

можно так сделать:
HTML5
1
<input type="text" id="inp">
Javascript
1
2
3
4
5
6
7
8
9
10
11
var inp = document.getElementById('inp');
inp.onkeypress = (event) => {
    if(!/[a-z\s\'-]/i.test(event.key)){
        alert(event.key + '- недопустимый символ!');
        return false;
    }
    if(inp.value.length >= 40){
        alert('Слишком длинное имя');
        return false;
    }    
}
0
AutoSearches
13 / 13 / 7
Регистрация: 05.01.2018
Сообщений: 30
Завершенные тесты: 2
05.01.2018, 19:26 #3
Javascript
1
/^[a-zA-Z]+(:?[\-\'\s]*[a-zA-Z]){1,40}$/
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2018, 19:26
Привет! Вот еще темы с решениями:

Regex Выбрать все символы между заданными
Почтовый сервер по команде LIST возвращает строку вида * LIST (\Unmarked...

В строке символов установить пробелы вместо символов,номера позиций которых при делении на 6 дают в остатке 3
и вот 2 задачка. В заданной строке символов установить пробелы вместо...

В текст, содержащий меньше 20 символов, равномерно вставить пробелы между словами, чтобы его длина составляла ровно 20 символов
В текст, содержащий меньше 20 символов, равномерно вставить пробелы между...

Regex. Экранирование группы символов
Нужно искать текст между любыми подстроками, например, если данные имеют...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru