DATA(lv_email) = 'user.name@example.com'.
IF matches( val = lv_email
regex = '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' ).
WRITE: / '邮箱格式正确'.
ELSE.
WRITE: / '邮箱格式错误'.
ENDIF.
将校验分为三部分 用 @ 跟 . 分割为三部分
第一部分就是 'user.name'
第二部分就是 'example'
第三部分 'com'
其中第一部分[ ] 中的内容校验了字母大写A-Z 小写a-z及字符' ._%+- ' 都可以出现在第一部分
第一部分[ ]后的 + 号 表示 至少出现一个字符 例:a@example.com 就是符合要求的
第二部分也是同理
在[ ] 外的 . 要用转义符转义 转义符:\
第三部分 {2,} 表示至少出现两次 因为 后缀可能是.cn
如果第一部分确定 是 最少5位那可以写成
DATA(lv_email) = 'user.name@example.com'.
IF matches( val = lv_email
regex = '[A-Za-z0-9._%+-]{5,}@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' ).
WRITE: / '邮箱格式正确'.
ELSE.
WRITE: / '邮箱格式错误'.
ENDIF.
如果第一部分确定 是 最少5位 最多十位那可以写成
DATA(lv_email) = 'user.name@example.com'.
IF matches( val = lv_email
regex = '[A-Za-z0-9._%+-]{5,10}@[A-Za-z0-9.-]+\.[A-Za-z]{2,}' ).
WRITE: / '邮箱格式正确'.
ELSE.
WRITE: / '邮箱格式错误'.
ENDIF.