Я стараюсь санкционировать пароль используя регулярные выражения. Пароль, должно быть, продолжает следующую политику:
Я использую это выражение, которой, если оно функционирует, но проблема состоит в том, что он допускает мне место в мишени:
regexp_password = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,15}/;
Попытайся со следующей expresiГіn регулярная:
var regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])([A-Za-z\d$@$!%*?&]|[^ ]){8,15}$/;
DespuГ©s от нескольких попыток я не смог этого добиваться, так как как они комментируют, это не очень эта страховка mГ©todo. AsГ - что то, что я сделал, одна validaciГіn раньше чтобы обнаруживать, если у него есть algГєn место в мишени
if(/\s/.test($scope.Password)){
$scope.isValidPassword = false;
return;
}
Проблема, - в котором эта часть regexp
[A-Za-z\d$@$!%*?&]{8,15}
он удовлетворяется 8 символами набора. Или же, после восьмого характера, твой regexp позволяет любую вещь.
То, что нужно делать, состоит в том, чтобы ограничивать ее в конце концов, для того, чтобы он только согласился strings в тех, которых, после 8 в 15 символов набора разрешенных символов, заканчивает string.
TL; DR: нужно добавлять $
в конце концов.
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,15}$/
acá ^
HabrГ, - которому отказывать в месте в мишени с [^'\s]
а следовательно expreciГіn он завершает ее quedarГ - в так:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,15}[^'\s]/
PruГ©bala здесь
ASFFAFD5a8ad$ a
– jasilva
16.02.2016, 23:41
Смоги санкционировать твой regex, и действительно какие-то случаи с местом в белом звуке, стоивший.
Считал, что podrГ-схвати снимать их перед твоим неударом в лунку, и despuГ©s санкционировать с твоим regex.
ты Можешь использовать .replace(/ /g,'')
, чтобы перемещать место в мишени
Здесь один pequeГ±o jsfiddle