мне нужно убедиться, что входное значение содержит, по меньшей мере, одну точку, так что я использовал следующее:Backslash побега в RegularExpressionValidator
<asp:RegularExpressionValidator runat="server"
ControlToValidate="MyInput" Text="*"
ErrorMessage="must contain at least one dot"
ValidationExpression="\.+" />
И это не работает. Изучив исходный код страницы, я вижу, что ASP.NET избегает символа обратной косой черты, поэтому в java-скрипте он выглядит как "\\.+"
. Почему он это делает и как я могу предотвратить использование функции RegularExpressionValidator?
Вы уверены, что 'RegularExpressionValidator' неявно ищет начало и конец строки? AFAIK это * не *, поэтому '\ .' должен быть достаточным шаблоном. –
Я только что протестировал его. Оно делает. По крайней мере, тот, который я использую здесь, на своем веб-сайте. – Jens
Спасибо! Это означает, что параметры по умолчанию JS по умолчанию отличаются от класса .NET Regex, потому что последнее работает нормально. Это странно - если мы отключили JS, то RegularExpressionValidator должен использовать проверку на стороне сервера (т. Е. Класс Regex), не так ли? – UserControl