Java 如何防止字符串具有整数或数字?

Java 如何防止字符串具有整数或数字?,java,Java,如何防止或捕获用户已输入整数或数字的字符串 前 然后,如果我输入Dave Har1234,我想在输入中捕捉该数字,然后返回到作业窗格,我认为您应该只检查完整的字符串是否是一个数字。为此,请使用以下检查inp.matches(\\d”) 您可以在这里查看完整的示例 如果用户在字符串之间输入了任何数字,您可以尝试使用此代码捕获 可以在此处运行并检查代码:您可以浏览regex(正则表达式)供参考,Dave Har1234可以很容易地成为一个完全有效的名称。@dyukha-您能否给出一个法律管辖区的示例

如何防止或捕获用户已输入整数或数字的字符串


然后,如果我输入Dave Har1234,我想在输入中捕捉该数字,然后返回到
作业窗格

,我认为您应该只检查完整的字符串是否是一个数字。为此,请使用以下检查
inp.matches(\\d”)

您可以在这里查看完整的示例

如果用户在字符串之间输入了任何数字,您可以尝试使用此代码捕获


可以在此处运行并检查代码:

您可以浏览regex(正则表达式)供参考,
Dave Har1234
可以很容易地成为一个完全有效的名称。@dyukha-您能否给出一个法律管辖区的示例,允许某人将其名称注册为
Dave Har1234
。我很好奇。str.matches('%d!');会有用的。你可以看看这个——作为对删除评论的回应:不,我不能证明没有这样的管辖权。然而,我不知道有哪一个例子是允许的。即使是备受尊敬的W3C关于这个主题的文章()也没有提到名称中的数字,或者(真实的)需要支持它们。OP还想检查字符串的前面和后面是否有数字。“*\d.*”
String name=JOptionPane.showInputDialog("Enter Dog owner's First and Last name");
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main
{
    public static void main(String[] args) {
        String inputStr = "abc00123xyz4560";  // Input String for matching
      String regexStr = "[0-9]+";            // Regex to be matched


      Pattern pattern = Pattern.compile(regexStr);

      Matcher matcher = pattern.matcher(inputStr);
       while (matcher.find()) {
         System.out.println("find() found substring \"" + matcher.group()
               + "\" starting at index " + matcher.start()
               + " and ending at index " + matcher.end());
      }


    }
}