Java 有没有办法知道字符串中是否只有数字?

Java 有没有办法知道字符串中是否只有数字?,java,Java,我正在尝试对表单进行错误检查。我想看看一个电话号码是否有效,看它是否包含所有号码。是否有办法查看字符串中是否只有NMBER?您可以使用regex来执行此操作: if(value.matches("[0-9]+")) { System.out.println("Only numbers!"); } 使用regex验证电话号码的模式 "\\d{3}-\\d{7}" 例如: 310-6666666 或 如果只想从字符串中读取整数 public class Agent{ public

我正在尝试对表单进行错误检查。我想看看一个电话号码是否有效,看它是否包含所有号码。是否有办法查看字符串中是否只有NMBER?

您可以使用regex来执行此操作:

if(value.matches("[0-9]+")) {
    System.out.println("Only numbers!");
}

使用regex验证电话号码的模式

"\\d{3}-\\d{7}"
例如:

 310-6666666

如果只想从字符串中读取整数

public class Agent{
 public static void main(String...args){
    String input = "1 23 35 5d 8 0 f";
    List<Integer> intList = new ArrayList<Integer>();

Arrays.asList(input.split(" ")).stream().forEach( i -> {
        try{
          intList.add(Integer.parseInt(i));
        }catch(Exception ex){

        }
});

intList.forEach( i -> System.out.print(" " + i));

只是确保它不是HTML表单?不管怎样,当然有。一种方法是模式/正则表达式。您应该进行研究。正则表达式是允许接受字符串(385)-141-3423)的一种选择。您是否可以添加一个接受的数字格式示例。假设您不想检查模式。然后可以检查循环中每个数字/字符的ASCII值
if(string.charAt(i)<48 | | string.charAt(i)>58){//Not number}
…那么您的意思是,如果我提交一个数值,它将返回“仅数字!”??您的
if
语句可能不正确。
1 23 35 8 0