Loading...
mihdimitrov avatar mihdimitrov 45 Точки

Regexpression

Здравейте, 

опитвам се да направя валидация за поле в javascript. Целта ми е вътре в полето да може да има следния формат 121212-12122 - първите 6 символа да са само числа и да не може да се въвежда друго, после да има "-", и после 5 числа нищо друго да няма. replace(/[^\d{1,6}]-\d{1,5}]/g, '') ; нещо такова правя, но не ми сработва и не разбирам защо. Успявам да измисля само replace(/[^0-9,-]/g, ''), но това ми позволява в цялото поле да пиша "-" Ако някой знае как се конкатенират няколко различни regexp, също ще ми свърши работа. Благодаря предварително.

Тагове:
0
JavaScript Fundamentals
mihdimitrov:
Получих отговор
crazy7 avatar crazy7 177 Точки

Нещо такова не ти ли върши работа: /\d{6}\-\d{5}/g или ако не трябва да са точно 6 и 5: /\d{1,6}\-\d{1,5}/g

0
26/06/2015 15:02:17
micro3x avatar micro3x 135 Точки

/[0-9]{6}\-[0-9]{5}/g <- регекса

[0-9] <- числата

{6} <- точно 6 пъти

\- <- Ескейпнът минус :)

[0-9] <- числата

{5} <- точно 5 пъти

 

Що се отнася до:

Ако някой знае как се конкатенират няколко различни regexp, също ще ми свърши работа. Благодаря предварително.

Няма такова нещо като конкатенация на Регулярни изрази. Можеш да събереш стринг от няколко стринга и на края да го направиш на регулярен израз.

Пример:

var BudeshtRegex = "";

ако трябва да започва с цифра > BudeshtRegex += "[0-9]";

ако трябва нещо си друго да следва > BudeshtRegex += "Другото нещо";

и тн. ...

а на края го създаваш  > var regex = new RegExp(BudeshtRegex);

0
26/06/2015 15:18:43
mihdimitrov avatar mihdimitrov 45 Точки

пробвах по следните начини : replace(/^[0-9]{6}\-[0-9]{5}$/g, '') ; така: replace(/[0-9]{6}\-[0-9]{5}/g, ''),  така :replace(/^[0-9]{6}\-[0-9]{5}/g, '') , но и в 3-те вариянта ми разрешава да въведа символ различен от число ..

0
micro3x avatar micro3x 135 Точки

Какво точно искаш да постигнеш?

Ако искаш докато пишеш в полето да не ти позволява да въвеждаш друго освен оказаните символи се прави едно.

Ако искаш да валидираш данните преди да ги изпратиш към сървъра се прави друго.

 

А replace  за какво го ползваш?

0
26/06/2015 15:50:51
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.