Если вам нужно одно регулярное выражение, попробуйте:
(? =. * \ d) (? =. * [az]) (? =. * [AZ]) (? =. * \ W)
Краткое объяснение:
(? =. * [Az]) // используйте положительный взгляд вперед, чтобы увидеть, (? =. * [AZ]) // используйте положительный взгляд вперед, чтобы увидеть, существует ли хотя бы одно письмо в верхнем регистре (? =. * \ d) // используйте положительный взгляд вперед, чтобы узнать, по крайней мере, существует одна цифра (? =. * \ W]) // используйте положительный взгляд вперед, чтобы увидеть, существует ли хотя бы один неглавный символ
И я согласен с SilentGhost, \ W
может быть немного шире. Я бы заменил его набором символов следующим образом: [- + _! @ # $% ^ & Amp; *.,?]
(не стесняйтесь добавлять больше, конечно!)
Вы хотите передать ссылку на функцию как обратный вызов, а не результат выполнения функции:
showDiv()
возвращает некоторое значение; если не используется инструкция return
, возвращается undefined
.
showDiv
является ссылкой на функцию, которая должна быть выполнена.
Это должно работать:
$(document).ready(function(){
$('a.test').bind("click", showDiv);
});
В качестве альтернативы вы можете использовать анонимную функцию для выполнения более продвинутой функции:
...bind('click', function(){
foo.showDiv(a,b,c);
...more code...
});
В некоторых случаях вы можете хотеть использовать возвращаемое значение с помощью функции в качестве обратного вызова:
function function foo(which)
{
function bar()
{
console.log('so very true');
}
function baz()
{
console.log('no way!');
}
return which ? bar : baz;
}
...click( foo( fizz ) );
В этом примере foo
оценивается с помощью fizz
и возвращает функцию, которая будет назначена в качестве обратного вызова для события click.
Измените его на: $('a.test').bind("click", showDiv);
(не помещайте парсеры вокруг showDiv
, так как вы хотите передать ссылку на функцию).
Используйте следующую строку. showDiv()
будет вызывать функцию сразу после выполнения этой строки.
$('a.test').bind("click", showDiv);
Похоже, вы вызываете функцию showDiv прямо там (и привязываете результат возврата showDiv () к обработчику кликов, а не привязываете его напрямую.
Вы хотите что-то вроде
$(document).ready(function() { $('a.test').bind("click", showDiv); });
showDiv()
вызывает i> объект-объект, оцененный из выражения expression i>showDiv
-showDiv
, просто оценивает объект-объект (в данном случае) который может использоваться как обратный вызов. (Нет «ссылок» ;-) – user 18 August 2011 в 05:40