Member 13951173 Ответов: 2

Как сделать так, чтобы + появлялся только один раз и только спереди, как пример +01234564789 в регулярном выражении jquery.


Как сделать так, чтобы + появлялся только один раз и только спереди, как пример +01234564789 в регулярном выражении Jquery. Символ не может быть везде и только спереди и появляться только один раз в текстовом поле.

Что я уже пробовал:

Я попробовал это, но у него все еще есть проблема. Так что мне действительно нужна помощь, я новичок в этом деле, так что, пожалуйста, помогите мне.

$(функция(){
$('#hpno').нажатие клавиши(функция(e){
ВАР тхт = строка.fromCharCode(электронная.что);
консоли.журнала(в формате txt + ' : '+ е. что);
если(!txt.match(/^\+*/ [0-9]+$/))
{
возвращать false;
}
});
});

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Как сделать так, чтобы + появлялся только один раз и только спереди, как пример +01234564789 в регулярном выражении Jquery.

Я думаю, что ваша проблема заключается в том, что вы не поняли, что ваш код запускается при нажатии клавиши.
Это означает, что ваше регулярное выражение должно соответствовать частичному входу или пустому входу.
Это означает, что ваше регулярное выражение должно совпадать:
'' // Empty textbox
'+' // + sign
'9' // a single digit
'+9' // + and a single digit
'9...9'  // many digits
'+9...9'

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

Кстати, * - это знак регулярного выражения "ноль или больше", вам нужно использовать знак регулярного выражения "ноль или 1".

Всего лишь несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
RegExr: Learn, Build, & Test RegEx[^]
Онлайн-тестер регулярных выражений и отладчик: PHP, PCRE, Python, Golang и JavaScript[^]
Этот пример показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]
Этот сайт также показывает регулярное выражение в красивом графике, но не может проверить, что соответствует регулярному выражению:
Regexper[^]


Member 13951173

Значит, я просто заменяю * на ? только

Patrice T

чтобы сделать + необязательным, да, но у вашего регулярного выражения есть больше проблем.
Используйте ссылку Debuggex, чтобы получить график вашего регулярного выражения и посмотреть, что не так.

Рейтинг:
0

OriginalGriff

Попробуй:

^\+?\d*$


Если вы хотите работать с регулярными выражениями, то получите копию Экспрессо[^] - это бесплатно, и он проверяет и генерирует регулярные выражения.