If you want to stop the button from submitting the form, then you need to block the form from being submitted.
OnClientClick="Test(event);"
function Test(event){
...
if (!isValid) {
alert("...");
event.preventDefault();
return;
}
}
Event.preventDefault() - Web APIs | MDN[
^]
However, you don't need custom Javascript to validate that an entered value matches a particular regular expression; just use a
RegularExpressionValidator
instead:
<asp:RegularExpressionValidator runat="server"
ControlToValidate="txtNewPass"
ValidationExpression="(?=.*\d)(?=[^A-Za-z]*[A-Za-z])(?=.*[-!@#$%._]).{8,20}"
ErrorMessage="Password must be at least 8 characters, ..."
/>
RegularExpressionValidator Class (System.Web.UI.WebControls) | Microsoft Docs[
^]