APEX验证仅按字母顺序

时间:2018-08-24 18:33:46

标签: oracle validation oracle-apex-5.1

在APEX 5.1中,查找验证脚本帮助仅允许使用字母字符以及姓名的空格或连字符。 (即,除了可能的破折号外,没有数字或特殊字符。

我对另一个允许字母数字但不能使用特殊字符的字段进行了有效的验证!验证类型为“项目不包含Value中的任何字符”。在值字段中,放置以下内容... !@#$%^&*()-_+=[]{};:'",<.>/?\|

1 个答案:

答案 0 :(得分:1)

我建议您使用类型为返回布尔值的函数的验证,如下所示:

return regexp_like(:P1_ITEM_NAME, '^[A-Za-z -]+$');

它是做什么的?

  • ^锚定到字符串的开头
  • A-Z接受大写字母
  • a-z接受小写字母
  • space是...一个空格
  • -是...,连字符
  • +-重复这些字符多次
  • $锚定在字符串的末尾

例如:

SQL> with test (item) as
  2    (select 'aBCd'        from dual union  -- ok
  3     select 'little foot' from dual union  -- ok
  4     select 'reb-ecca'    from dual union  -- ok
  5     select 'lit123foot'  from dual union  -- wrong
  6     select 'abc$3'       from dual union  -- wrong
  7     select 'xy.)z'       from dual union  -- wrong
  8     select '123-234'     from dual        -- wrong
  9    )
 10  select item
 11  from test
 12  where regexp_like(item, '^[A-Za-z -]+$');

ITEM
-----------
aBCd
little foot
reb-ecca

SQL>