See if this helps.
SQL> create table test
2 (col varchar2(20),
3 --
4 constraint ch1_upper check (col = upper(col)),
5 --
6 constraint ch2_letraspc check (col = trim(col)),
7 --
8 constraint ch3_wrdspc check (regexp_like(col, '^ *(\w+ ?)+ *$')),
9 --
10 constraint ch4_spec check (regexp_like(col, '^[[:alpha:] ]+$'))
11 );
Table created.
Testing:
SQL> insert into test values ('abc');
insert into test values ('abc')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH1_UPPER) violated
SQL> insert into test values (' DEF');
insert into test values (' DEF')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH2_LETRASPC) violated
SQL> insert into test values ('DEF ');
insert into test values ('DEF ')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH2_LETRASPC) violated
SQL> insert into test values (' DEF ');
insert into test values (' DEF ')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH2_LETRASPC) violated
SQL> insert into test values ('GHI23');
insert into test values ('GHI23')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH4_SPEC) violated
SQL> insert into test values ('GHI#');
insert into test values ('GHI#')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH4_SPEC) violated
SQL> insert into test values ('GHI JKL');
insert into test values ('GHI JKL')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH3_WRDSPC) violated
SQL> insert into test values ('GHI JKL MNO');
insert into test values ('GHI JKL MNO')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH3_WRDSPC) violated
SQL> insert into test values ('GHI JKL MNO');
1 row created.
SQL>