2

我的对话框有一个小部件,我想使用正则表达式对其进行验证。

以下是它的属性:

<widget
    regex="/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/"
    regexText="Please enter a valid email address"
    xtype="textfield"
    fieldLabel="Email"
    name="./email"
    allowBlank="false"/>

每当我输入有效的电子邮件地址时,它总是返回 false。诚然,我对使用正则表达式的先验知识为零。

我哪里错了?

4

4 回答 4

3

试试下面的正则表达式,这个对我有用。

/^[A-za-z0-9]+[\\._]*[A-za-z0-9]*@[A-za-z.-]+[\\.]+[A-Za-z]{2,4}$/
于 2013-10-18T07:47:37.723 回答
1

对于在谷歌上搜索此问题的类似问题的人:

打开 CRXDE 并通过双击对话框图标来编辑对话框。它将打开一个特殊的对话框编辑器。选择要编辑的文本字段并在 UI 中输入正则表达式。仅输入 Javascript 有效的正则表达式。如果需要,请在 google 上查找并使用 Regex 测试器,以确保其有效。保存对话框然后查看 JCR(记得刷新 CRXDE,因为它缓存旧内容)或使用包管理器导出。

一些常见问题:

必须以“/”开头和结尾。

/foobar/

所有 XML 字符都需要转义。不知道为什么,我觉得很奇怪。

/Surf&amp;Turf/
/&lt;html>/

斜杠必须用反斜杠转义。反斜杠必须用反斜杠转义。(只需使用字符类,反正它更干净)。

/http:\\/\\/www\\.google\\.com/

祝你好运!

于 2015-04-23T19:08:07.760 回答
0

我想以下应该适合你regex:- /^[a-zA-Z][\\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/

于 2013-10-17T12:47:30.917 回答
0

这是在adobe cq5中运行的一个,试试看

/^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$/
于 2014-03-28T21:38:21.660 回答