首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制java中的特殊变量

问限制java中的特殊变量
EN

Stack Overflow用户
提问于 2020-10-09 16:39:57
回答 2查看 71关注 0票数 0

我想限制getGatewaySerialNumber使用特殊字符。

我已经写了这些条件,但是如果块只执行第一个条件,它不会检查and条件。

如何限制Gatewayserialnumber使用特殊字符。

代码语言:javascript
复制
If(manifestRequestEntity.getGatewaySerialNumber().lenghth()>16 && manifestRequestEntity.getGatewaySerialNumber().matches(regex :"[0-9a-fA-F]+"))
EN

回答 2

Stack Overflow用户

发布于 2020-10-09 16:44:50

尝尝这个。

代码语言:javascript
复制
  name = "abc";
  Pattern special= Pattern.compile("[^a-z0-9 ]", Pattern.CASE_INSENSITIVE);
  Pattern number = Pattern.compile("[0-9]", Pattern.CASE_INSENSITIVE);
  Matcher matcher = special.matcher(name);
  Matcher matcherNumber = number.matcher(name);

  boolean constainsSymbols = matcher.find();
  boolean containsNumber = matcherNumber.find();

  if(constainsSymbols){
   //string contains special symbol/character
  }
  else if(containsNumber){
   //string contains numbers
  }
  else{
   //string doesn't contain special characters or numbers
  }
票数 0
EN

Stack Overflow用户

发布于 2020-10-09 17:22:43

您可以使用一些辅助方法来检查它是否只包含字母和数字

如下所示:

代码语言:javascript
复制
    public static boolean checkForSpecialChar(String stringToCheck){

            char ch[] = stringToCheck.toCharArray();
            for(int i=0; i<ch.length; i++)
            {
                if((ch[i]>='A' && ch[i]<='Z') || (ch[i]>='a' && ch[i]<='z') || (ch[i]>='0' && ch[i]<='9'))
                {
                    continue;
                }
                return true;
            }
            return false;
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64276647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档