【问题标题】:APEX validate alphabetic only allowedAPEX 验证仅允许字母
【发布时间】:2018-08-24 18:33:45
【问题描述】:

在 APEX 5.1 中寻找验证脚本的帮助,以仅允许字母字符和空格或连字符作为人名。 (即除可能的破折号外,不允许使用数字或特殊字符)。

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

【问题讨论】:

    标签: oracle validation oracle-apex-5.1


    【解决方案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>
    

    【讨论】:

    • 感谢您对正则表达式语法的回复和解释!!使用正则表达式确实帮助我更好地理解最终使用它作为验证,并且它有效...项目匹配正则表达式 ^[[:alpha:] ''-]+$
    猜你喜欢
    • 2018-09-08
    • 1970-01-01
    • 2013-12-14
    • 2016-10-07
    • 2013-11-04
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多