在UI5中,电子邮件地址regex导致语法错误。

问题描述 投票:1回答:1

我的电子邮件格式 (^\w+[\w-+\.]*\@\w+([-\.]\w+)*\.[a-zA-Z]{2,}$/)在XML视图中无法使用,而数字型的regex (^[0-9]*$)工作正常。

如果我做错了什么,请你帮助我。

<Column>
  <m:Label text="Email ID"/>
  <template>
  <m:Input id="idEmailTabEmailId"
    valueLiveUpdate="true"
    value="{
      path: 'thatEmailAddress',
      mode: 'TwoWay',
      type: 'sap.ui.model.type.String',
      constraints: {
        minLength: 1,
        maxLength: 50,
        search: '^\w+[\w-+\.]*\@\w+([-\.]\w+)*\.[a-zA-Z]{2,}$'
      }
    }" />
  </template>
</Column>
regex sapui5
1个回答
1
投票

如果 search 属性有一个字符串值,而不是一个 RegExp 对象,你必须转义字符。即 \\ 而不是单个的 \:

^\\w+[\\w-+\\.]*\\@\\w+([-\\.]\\w+)*\\.[a-zA-Z]{2,}$

上述regex是 涵盖RFC 5322的所有情况。见 https:/haacked.comarchive20070821i-knew-how-to-validatean-email-address-until-i.aspx。

此外,如果regex是在一个XML文档中定义的(例如XMLView),请记住也要转义这些特殊字符。

&quot; // "
&apos; // '
&lt;   // <
&gt;   // >
&amp;  // &
© www.soinside.com 2019 - 2024. All rights reserved.