Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите оставить пустым поле в JS (https://javascript.ru/forum/misc/6926-pomogite-ostavit-pustym-pole-v-js.html)

vanek2010 06.01.2010 00:03

Помогите оставить пустым поле в JS
 
Помогите найти где исправить тут http://ruseller.com/lessons.php?rub=32&id=246
чтобы в JS скрипте, поле проверялось на noSpecialCaracters и могло остаться пустым! Очень прошу!!! Там все комментарии забиты с просьбами объяснить как оставлять поля пустыми и проверять их на noSpecialCaracters

Это часть в коде, в которой я так чуствую в ней надо что-то изменить.
jQuery.fn.validationEngine = function(settings) { 
    if($.validationEngineLanguage){                    // IS THERE A LANGUAGE LOCALISATION ? 
        allRules = $.validationEngineLanguage.allRules 
    }else{ 
        allRules = {        "required":{                  // Add your regex rules here, you can take telephone as an example 
                            "regex":"none", 
                            "alertText":"Внимание! Поле не должно быть пустым!", 
                            "alertTextCheckboxMultiple":"* Пожалуйста, выберите опцию", 
                            "alertTextCheckboxe":"* Опция не выбрана"}, 
                            "onlyAngl":{  
                            "regex":"/^[0-9a-zA-Z]+$/", 
                            "alertText":"* Используйте только латинские буквы и цифры"}, 
                        "length":{ 
                            "regex":"Нет", 
                            "alertText":" ", 
                            "alertText2":" - ", 
                            "alertText3": " символов "}, 
                        "minCheckbox":{ 
                            "regex":"none", 
                            "alertText":"Выбрано слишком много!"},     
                        "confirm":{ 
                            "regex":"none", 
                            "alertText":"Поля не совпадают!"},         
                        "telephone":{ 
                            "regex":"/^[0-9\-\(\)]+$/", 
                            "alertText":"Некорректный номер телефона!"},     
                        "email":{ 
                            "regex":"/^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/", 
                            "alertText":"Неправильный адрес!"},     
                        "onlyNumber":{ 
                            "regex":"/^[0-9]+$/", 
                            "alertText":"Только цифры!"},     
                        "noSpecialCaracters":{ 
                            "regex":"/^[0-9a-zA-Zа-яА-Я]+$/", 
                            "alertText":"Специальные символы запрещены!"},   
                        "onlyLetter":{ 
                            "regex":"/^[а-яА-Я]+$/", 
                            "alertText":"Только русские буквы!"} 
                    }     
    }

Gvozd 06.01.2010 00:46

полагаю, что такой финт должен помочь:
заменить куски вида
"regex":"/^[0-9a-zA-Z]+$/",

на
"regex":"/(^[0-9a-zA-Z]+$)|(^$)/",


PS если не поможет, то надо копаться глубже, и этого кода недостаточно
PPS а глубже копаться лень ;)

vanek2010 06.01.2010 10:52

Цитата:

Сообщение от Gvozd (Сообщение 39763)
полагаю, что такой финт должен помочь:
заменить куски вида
"regex":"/^[0-9a-zA-Z]+$/",

на
"regex":"/(^[0-9a-zA-Z]+$)|(^$)/",


PS если не поможет, то надо копаться глубже, и этого кода недостаточно
PPS а глубже копаться лень ;)

Спасибо огромное !!!!!!!!!
Выручили )))!!!

vanek2010 06.01.2010 19:35

Gvozd подскажи пожалуйста, как сделать, чтобы пробел можно было использовать?
Тоесть типо
"regex":"/(^[0-9a-zA-Z]+$)|(^$)/",

и использование пробела тоже разрешить?
"regex":"/(^[0-9a-zA-Zа-яА-Я_\.\-]+$)|(^$)/",

Я разрешил использовать ._- но как ращрешить использовать пробел не пойму ..

Gvozd 06.01.2010 20:07

"regex":"/(^[0-9a-zA-Zа-яА-Я _\.\-]+$)|(^$)/"//добавил пробел же после Я

vanek2010 06.01.2010 20:20

Цитата:

Сообщение от Gvozd (Сообщение 39809)
"regex":"/(^[0-9a-zA-Zа-яА-Я _\.\-]+$)|(^$)/"//добавил пробел же после Я

Блин ппц))) Я сидел мозг ломал, че только не перепробывал, начел читать про
\ Для обычных символов - делает их специальными. Например, выражение /s/ ищет просто символ 's'. А если поставить \ перед s, то /\s/ уже обозначает пробельный символ.И наоборот, если символ специальный, например *, то \ сделает его просто обычным символом "звездочка". Например, /a*/ ищет 0 или больше подряд идущих символов 'a'. Чтобы найти а со звездочкой 'a*' - поставим \ перед спец. символом: /a\*/.
Думал \s это пробел, вообщем спс большое за помощь))

Gvozd 06.01.2010 20:54

Цитата:

Сообщение от vanek2010
Думал \s это пробел

это пробельный символ, как вы написали, а не пробел
пробельный символ - это пробел, табуляция, перевод строки, возврат каретки
любой из этих символов короче
для textarea стоит использовать \s, а для input-ов только пробел
но все зависит от специфики, в принципе

vanek2010 07.01.2010 13:34

Слушай а как сделать, чтобы разрешить символ \ ?
у меня просто поле где подставляется файл, хочу там разрешить использовать только символы _0-9a-zA-Zа-яА-Я-.:\
Удается только использовать / , но мне надо именну вот эту \, потому что идет типо такой запрос.
C:\Documents and Settings\Иван\Мои документы\Мои рисунки\2a3547f15210.jpg

Gvozd 07.01.2010 14:53

"regex":"/(^[0-9a-zA-Zа-яА-Я \\\\_\.\-]+$)|(^$)/"//экранировать надо два раза(один раз для строки, второй-для самой регулярки)

пожалуйста ознакомьтесь со статьей http://javascript.ru/basic/regular-expression


Часовой пояс GMT +3, время: 07:15.