繁体   English   中英

检查EditText输入是否为字符串

[英]Check if EditText Input is a String

我有一个称为Input的EditText窗口小部件,它要求输入用户名,还有一个Button,单击该按钮时,它将在TextView中将其显示为输出。 如何测试以确保用户输入的是String值而不是一堆整数? 这里可以抛出任何类型的异常吗? 谢谢。

btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try{
                String name = input.getText().toString();
                //How can I find out if the user is typing in something 
                //other than a String here?
                output.setText(input.getText());

            }catch(NumberFormatException e){
                Log.v("Not a number", TAG);
                output.setError("Must Be A Number");
                output.setText("");
            }

尝试这一检查输入文本是字符串还是数字

//it gives true if text is number else it return false
public static boolean isNumeric(String str)
{
    try
    {
        double d = Double.parseDouble(str);
    }
    catch(NumberFormatException nfe)
    {
        return false;
    }
    return true;
}

否则,您可以尝试以下方法:

String regexString = "^[0-9]*$";

if(editText.getText().toString().trim().matches(regexString))
 {
//it is digit
}
else{
//it is string
}
Pattern p = Pattern.compile("[^\\p{L}+]");
Matcher m = p.matcher(" input string ")
if(m.find())
    //do whatever you want when input has digits/ special characters/ white space
else 
    //valid string

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM