Delphi检查字符是否在'A'..'Z'和'0'..'9'范围内

img.simone

我需要检查字符串是否仅包含range:中的字符'A'..'Z', 'a'..'z', '0'..'9',所以我编写了此函数:

function GetValueTrat(aValue: string): string;
const
  number = [0 .. 9];
const
  letter = ['a' .. 'z', 'A' .. 'Z'];
var
  i: Integer;
begin

  for i := 1 to length(aValue) do
  begin
    if (not(StrToInt(aValue[i]) in number)) or (not(aValue[i] in letter)) then
      raise Exception.Create('Non valido');
  end;

  Result := aValue.Trim;
end;

但如果例如,aValue = 'Hello'StrToInt功能提高了我的异常。

范塔基罗科

一组独特的Char可以用于您的目的。

function GetValueTrat(const aValue: string): string;
const
  CHARS = ['0'..'9', 'a'..'z', 'A'..'Z'];
var
  i: Integer;
begin
  Result := aValue.Trim;
  for i := 1 to Length(Result) do
  begin
    if not (Result[i] in CHARS) then
      raise Exception.Create('Non valido');
  end;
end;

请注意,在函数中,如果aValue包含空格字符(例如'test value ',例如),则会引发异常,因此Trimif语句后对的使用是无用的


^[0-9a-zA-Z]我认为,像这样的正则表达式可以更优雅地解决您的问题。


编辑
根据@RBA对问题的评论System.Character.TCharHelper.IsLetterOrDigit可以替代上述逻辑:

if not Result[i].IsLetterOrDigit then
  raise Exception.Create('Non valido');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查字符串是否仅包含“az”、“AZ”和“0-9”字符

来自分类Dev

为什么 /^[a-zA-Z0-9_]+$/ 和 /^[a-zA-Z0-9_]{1,}$/ 接受空字符串

来自分类Dev

适用于A-Za-z0-9撇号,空格和连字符的正则表达式,范围

来自分类Dev

如何检查字符是否在字符范围内?

来自分类Dev

如何检查字符是否在字符范围内?

来自分类Dev

sql查询以检查给定范围内的数据和给定范围内的数据

来自分类Dev

IF和AND检查范围内的一个值

来自分类Dev

搜索和使用范围内的字符

来自分类Dev

在python中仅删除连续的特殊字符,但保留连续的[a-zA-Z0-9]和单个字符

来自分类Dev

PHP-如何检查字符串是否具有0和1或0或1

来自分类Dev

如何检查数字(浮点数或整数)是否在(0-100)范围内

来自分类Dev

如何检查我的结构的一部分在范围内是否为 0

来自分类Dev

检查字符串是否只有0和1

来自分类Dev

如何仅在A到Z和0到9的情况下使用ORD和CHR?

来自分类Dev

什么是“在[0,1)范围内的归一化频率”,按DTMF和Goertzel算法

来自分类Dev

如何仅在A到Z和0到9的情况下使用ORD和CHR?

来自分类常见问题

如何检查给定的小时和分钟(整数)是否在给定的时间范围内?

来自分类Dev

python检查字符串是否以有效范围内的数字结尾

来自分类Dev

R-检查字符串是否包含特定日期范围内的日期

来自分类Dev

OpenGL纹理坐标是否必须在0-1的范围内

来自分类Dev

在Swift中,是否有浮点类型限制在0到1的范围内?

来自分类Dev

在Swift中,是否有浮点类型限制在0到1的范围内?

来自分类Dev

正则表达式模式^ [a-z0-9]([_.-]?[a-z0-9] +)* / [a-z0-9](([_。]?|-{ 0,2})[a-z0-9] +)* $

来自分类Dev

值是否在范围内

来自分类Dev

如何检查和匹配php中某个范围内的值

来自分类Dev

跳过范围内的字符

来自分类Dev

匹配和替换多个工作表上多个范围内的列中的字符串

来自分类Dev

检查数字是否在Python范围内

来自分类Dev

检查BigDecimal值是否在范围内

Related 相关文章

  1. 1

    如何检查字符串是否仅包含“az”、“AZ”和“0-9”字符

  2. 2

    为什么 /^[a-zA-Z0-9_]+$/ 和 /^[a-zA-Z0-9_]{1,}$/ 接受空字符串

  3. 3

    适用于A-Za-z0-9撇号,空格和连字符的正则表达式,范围

  4. 4

    如何检查字符是否在字符范围内?

  5. 5

    如何检查字符是否在字符范围内?

  6. 6

    sql查询以检查给定范围内的数据和给定范围内的数据

  7. 7

    IF和AND检查范围内的一个值

  8. 8

    搜索和使用范围内的字符

  9. 9

    在python中仅删除连续的特殊字符,但保留连续的[a-zA-Z0-9]和单个字符

  10. 10

    PHP-如何检查字符串是否具有0和1或0或1

  11. 11

    如何检查数字(浮点数或整数)是否在(0-100)范围内

  12. 12

    如何检查我的结构的一部分在范围内是否为 0

  13. 13

    检查字符串是否只有0和1

  14. 14

    如何仅在A到Z和0到9的情况下使用ORD和CHR?

  15. 15

    什么是“在[0,1)范围内的归一化频率”,按DTMF和Goertzel算法

  16. 16

    如何仅在A到Z和0到9的情况下使用ORD和CHR?

  17. 17

    如何检查给定的小时和分钟(整数)是否在给定的时间范围内?

  18. 18

    python检查字符串是否以有效范围内的数字结尾

  19. 19

    R-检查字符串是否包含特定日期范围内的日期

  20. 20

    OpenGL纹理坐标是否必须在0-1的范围内

  21. 21

    在Swift中,是否有浮点类型限制在0到1的范围内?

  22. 22

    在Swift中,是否有浮点类型限制在0到1的范围内?

  23. 23

    正则表达式模式^ [a-z0-9]([_.-]?[a-z0-9] +)* / [a-z0-9](([_。]?|-{ 0,2})[a-z0-9] +)* $

  24. 24

    值是否在范围内

  25. 25

    如何检查和匹配php中某个范围内的值

  26. 26

    跳过范围内的字符

  27. 27

    匹配和替换多个工作表上多个范围内的列中的字符串

  28. 28

    检查数字是否在Python范围内

  29. 29

    检查BigDecimal值是否在范围内

热门标签

归档