web-dev-qa-db-ja.com

xmlスキーマでメールIDを検証する方法

こんにちは私はメールIDをチェックするためのスキーマを作成しました。メールIDが[email protected][email protected][email protected]かどうかを検証できますが、abc @ def.comと[email protected]のみを検証したいと思いますメールには@記号の後に最大2つのドットが含まれる可能性があるため、3番目のドットは無効なメールIDになります。スキーマを使用してメールIDを検証する方法以下はスキーマです。

<xsd:element name="SSEM" minOccurs="0">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="CNT" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="EM" minOccurs="1" nillable="true" type ="singleEmailID"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

ありがとうSunilKumar Sahoo

13

有効な電子メールと照合するパターンを定義する必要があります。パターンは、正規表現構文を使用して定義されます。適切なパターンで(xs:stringに基づく)単純なタイプを定義したら、それを電子メールタイプに使用できます。

そのようなタイプとパターンのいくつかの例を提供するインターネット上のいくつかの場所があります。電子メールタイプの例が提供されています ここ

そこに示されている例は次のとおりです(少しわかりやすくするために少し編集しました)。

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > 

  <xsd:element name="A" type="emailAddress"/> 

  <xsd:simpleType name="emailAddress"> 
    <xsd:restriction base="xsd:string"> 
      <xsd:pattern value="[^@]+@[^\.]+\..+"/> 
    </xsd:restriction> 
  </xsd:simpleType> 
</xsd:schema>
32
Jeff Yates

文字列に基づいて正規表現パターンで<xs:simpleType>を使用して、電子メールアドレスを検証できます。

<xsd:simpleType name="emailAddress">
    <xsd:restriction base="xsd:string">
        <xsd:pattern value="([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})"/>
    </xsd:restriction>
</xsd:simpleType>

好きな電子メール正規表現を使用してください:-)、 RegexLib.Net のいくつかのサンプルを参照してください。

次に、基本的なXMLスキーマでそのタイプを使用します。

<xsd:element name="email" type="emailAddress" />

オンラインバリデーターで確認できます: https://www.corefiling.com/opensource/schemaValidate.html

7
marc_s

メールIDの検証には以下のスキーマバリデーターを使用してください

<xsd:simpleType name="emailAddress">
    <xsd:restriction base="xsd:string">
        <xsd:pattern value="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
    </xsd:restriction>
</xsd:simpleType>
1

アポストロフィを使用した電子メール検証にもこのバリデーターを使用します。

<xsd:simpleType name="emailAddress">
    <xsd:restriction base="xsd:string">
        <xsd:pattern value="^([0-9a-zA-Z_\.\'\-]+)*@[0-9a-zA-Z\-]+[a-zA-Z\.]+Dollar symbol"/>
    </xsd:restriction>
</xsd:simpleType>

アポストロフィを使用した電子メール検証として機能します:-)

0
Shans Muga