我正在使用 Web 表单在注册表单上执行正则表达式。我想知道它是否做得很好,因为注册时没有任何反应。
这是我的正则表达式代码:
Dim expre_regul As String = "/^[a-zA-Z0-9\._-]+@(hotmail|gmail)[.][a-zA-Z]{2,4}$/"
Dim r As Regex = New Regex(expre_regul)
If Not r.IsMatch(txtCorreo.Text) Then
Return
End If
这是我的“注册”按钮的完整代码
Protected Sub btnRegistrar_Click(sender As Object, e As EventArgs) Handles btnRegistrar.Click
Try
Dim clRegistrar As New SIMULADOR_LOG.clsExamenLOG
Dim User As New SIMULADOR_ENT.clsUsuarioSim
With User
.dni_user = txtDNI.Text
.ape_pat_user = txtApellidoPaterno.Text
.ape_mat_user = txtApellidoMaterno.Text
.nombre_user = txtNombres.Text
.direccion_user = txtDireccion.Text
.celular_user = txtCelular.Text
.correo_user = txtCorreo.Text
.dept_user = cmbDepartamento.Text
.prov_user = cmbProvincia.Text
.dist_user = cmbDistrito.Text
.fech_nacimiento = txtFechaNacimiento.Text
End With
Dim expre_regul As String = "/^[a-zA-Z0-9\._-]+@(hotmail|gmail)[.][a-zA-Z]{2,4}$/"
Dim r As Regex = New Regex(expre_regul)
If Not r.IsMatch(txtCorreo.Text) Then
Return
End If
Dim mensajeLog As String = clRegistrar.RegistrarUsuario(User)
Dim Mensaje As String = "<script type=""text/javascript"">" &
"Message('El sistema dice: " & mensajeLog & "')</script>"
ClientScript.RegisterStartupScript(Me.GetType, "msg", Mensaje)
Response.Redirect("SimuladorExamen.aspx")
Catch
'ScriptManager.RegisterStartupScript(Me, GetType(Page), "alerta", "alert('Ingrese un valor válido');", True)
End Try
End Sub
.net 在正则表达式中不使用分隔符。删除
/
开头和结尾的那些。使用https://regex101.com/测试您的正则表达式。
例如,我用过:
验证告诉我“mail@ mail .com”与模式不匹配。
但是,如果我使用:
验证告诉我“mail@ hotmail .com”确实与模式匹配。