linux判断全角半角的函数,检查全角半角

*&---------------------------------------------------------------------*

*& Form FRM_CHECK_FONT_SINGLE

*&---------------------------------------------------------------------*

* 半角检查

*----------------------------------------------------------------------*

* -->I_TEXT 检查文字

*

*----------------------------------------------------------------------*

FORM FRM_CHECK_FONT_SINGLE USING VALUE(I_TEXT) TYPE STRING

CHANGING VALUE(O_FLG_SINGLE) TYPE CHAR1.

DATA:

LW_STR_CHAR TYPE I, " 定義長

LW_STR_OUT TYPE I. " 出力長

CLEAR:

O_FLG_SINGLE.

* 检查文字是空的时候,返回处理

IF I_TEXT IS INITIAL.

RETURN.

ENDIF.

* 取得定义长度

LW_STR_CHAR = STRLEN( I_TEXT ).

* 取得输出长度

CALL METHOD

CL_ABAP_LIST_UTILITIES=>DYNAMIC_OUTPUT_LENGTH

EXPORTING

FIELD = I_TEXT

RECEIVING

LEN = LW_STR_OUT.

* 定义长与与输出长不相等,代表有全角文字混入

IF LW_STR_CHAR <> LW_STR_OUT.

O_FLG_SINGLE = CNS_FLG_ON.

ENDIF.

ENDFORM. " FRM_CHECK_FONT_SINGLE

*&---------------------------------------------------------------------*

*& Form FRM_CHECK_FONT_DOUBLE

*&---------------------------------------------------------------------*

* 全角检查

*----------------------------------------------------------------------*

* -->I_TEXT 检查文字

*

*----------------------------------------------------------------------*

FORM FRM_CHECK_FONT_DOUBLE USING VALUE(I_TEXT) TYPE STRING

CHANGING VALUE(O_FLG_DOUBLE) TYPE CHAR1.

DATA:

LW_STR_CHAR TYPE I, " 定義長

LW_STR_OUT TYPE I. " 出力長

CLEAR:

O_FLG_DOUBLE.

* 检查文字是空的时候,返回处理

IF I_TEXT IS INITIAL.

RETURN.

ENDIF.

* 取得定义长度

LW_STR_CHAR = STRLEN( I_TEXT ).

* 全角byte长取得

LW_STR_CHAR = LW_STR_CHAR * 2.

* 取得输出长度

CALL METHOD

CL_ABAP_LIST_UTILITIES=>DYNAMIC_OUTPUT_LENGTH

EXPORTING

FIELD = I_TEXT

RECEIVING

LEN = LW_STR_OUT.

* 定义长与与输出长不相等,代表有半角文字混入

IF LW_STR_CHAR <> LW_STR_OUT.

O_FLG_DOUBLE = CNS_FLG_ON.

ENDIF.

ENDFORM. " FRM_CHECK_FONT_DOUBLE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值