我试过这个片段,但它不起作用
try
{
Integer.parseInt(enteredID.getText().toString());
Log.i("enteredID value", "enterdID is numeric!!!!!!!!!!!^^^");
flag=1;
} catch (NumberFormatException e) {
flag=-1;
Log.i("enteredID value", "enterdID isn't numeric!!!!!!!!!!!^^^");
}
Run Code Online (Sandbox Code Playgroud)
注意它可以接受用户名或ID来检查值,我不希望它只接受数字!
小智 19
使用此表达式仅用于验证号码
String regexStr = "^[0-9]*$";
if(et_number.getText().toString().trim().matches(regexStr))
{
//write code here for success
}
else{
// write code for failure
}
Run Code Online (Sandbox Code Playgroud)
Ram*_*mar 15
如果布尔值为true,则为数字,否则为字符串值
boolean digitsOnly = TextUtils.isDigitsOnly(editText.getText());
Run Code Online (Sandbox Code Playgroud)
或者例如
String text = edt_email.getText().toString();
boolean digitsOnly = TextUtils.isDigitsOnly(text);
if (digitsOnly) {
if (text.length() == 0) {
Toast.makeText(getApplicationContext(), "field can't be empty.", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "field is int value", Toast.LENGTH_LONG).show();
}
}else {
Toast.makeText(getApplicationContext(), "Field is string value", Toast.LENGTH_LONG).show();
}
}
Run Code Online (Sandbox Code Playgroud)
设置EditText proprerty inputType = number它将始终将数字作为输入
android:inputType="number"
Run Code Online (Sandbox Code Playgroud)
试试这个正则表达式:
String regex = "-?\\d+(\\.\\d+)?";
if (enteredID.getText().toString().matches(regex)) {
Log.i("enteredID value", "enterdID is numeric!!!!!!!!!!!^^^");
flag=1;
} else {
flag=-1;
Log.i("enteredID value", "enterdID isn't numeric!!!!!!!!!!!^^^");
}
Run Code Online (Sandbox Code Playgroud)
小智 5
TextUtils为此使用类函数
TextUtils.isDigitsOnly("gifg");
Run Code Online (Sandbox Code Playgroud)
如果只有数字,则返回 true,如果字符串中存在任何字符,则返回 false
| 归档时间: |
|
| 查看次数: |
28795 次 |
| 最近记录: |