암호 필드의 유효성을 검사하는 RegularExpressionValidator가 있습니다. 비밀번호는 문자와 적어도 하나의 숫자를 포함해야하며 8 ~ 20 자 사이 여야합니다.정규 표현식의 문제점
<asp:RegularExpressionValidator ID="regexPassword" runat="server" ControlToValidate="txtNewPassword"
ValidationExpression="^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,20}$" ErrorMessage="Password must contain at least one digit and must be between 8 and 20 characters"
Text="*" ValidationGroup="Passwords"></asp:RegularExpressionValidator>
이 내 개발 환경에서 잘 작동하고 내 로컬 컴퓨터에서 작동하지만 때 내가 프로덕션 환경으로 마이그레이션 할 때 작동하지 않습니다 여기 내 검증합니다. 프로덕션 환경에서는 먼저 전달해야하는 숫자로 시작해야합니다. 우리의 프로덕션 환경에서는 Win 2k8 R2 시스템이 실행되고 있지만 문제가 될 수는 없습니다. 나는이 표현이 작동 할 것이라고 말하면서 또 하나의 포스트를 발견했다. 그래서 나는 그것을 테스트했고, 실제로 작동했다. 그러나 오직 내 개발 환경에서만 그렇다. 누군가 내 프로덕션 환경에서이 작업을 수행하는 데 필요한 번호를 사용해야하는 이유를 알 수 있습니까? 번호는 암호의 아무 곳에 나 있어야합니다.
정규 표현식으로 문제가 없습니다. asp.net의 엔진이 다르게 작동 할 수도 있지만식이 제대로 작동하고 의도 한대로 작동해야합니다. –
IE6를 사용하고 있지 않습니까? http://blog.stevenlevithan.com/archives/regex-lookahead-bug – Patrick
각 환경의 IIS 및 .NET 프레임 워크는 어떤 버전, 서비스 팩 등입니까? – CaffGeek