Вход

Просмотр полной версии : Помогите оставить пустым поле в JS


vanek2010
06.01.2010, 00:03
Помогите найти где исправить тут 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
полагаю, что такой финт должен помочь:
заменить куски вида
"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
"regex":"/(^[0-9a-zA-Zа-яА-Я _\.\-]+$)|(^$)/"//добавил пробел же после Я


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

Gvozd
06.01.2010, 20:54
Думал \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