サーバコントロールを使用しない正規表現
概要
タイトルのまんま。
元ネタ:
前提条件
手順
default.aspx を以下のように変更。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<form id="form1" method="post" >
Name:
<input name="txtName" type="text" />
<input name="submitBtn" type="Submit" value="Submit"/>
</form>
</body>
</html>
default.aspx.vb を以下のように変更。
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
dim str_temp as string
str_temp = _
"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"
If Request.RequestType = "POST" Then
Dim name As String = Request.Form("txtName")
If (name.Length > 0) Then
If (System.Text.RegularExpressions.Regex.IsMatch(name, str_temp )) Then
Response.Write("Valid name")
Else
Response.Write("Invalid name")
End If
End If
End If
End Sub
End Class
実行すると以下のように表示される。
not found (222.jpg)
メールアドレスとして不適切な入力を行うと、
not found (223.jpg)
invalid (無効)と言われる。
not found (224.jpg)
メールアドレスとして適切な入力を行うと、
not found (225.jpg)
valid (有効)と言われる。
not found (226.jpg)