【发布时间】:2016-08-23 12:49:29
【问题描述】:
我正在 android 中创建一个注册页面,其中包含电话号码字段。 此编辑文本应仅接受大于 6 的数字,即(7,8 或 9)作为第一个字符,如果用户输入小于 7 的数字,则应弹出错误且不应接受该数字。 任何帮助将不胜感激。 提前致谢
在下面粘贴我的代码。
private void numvalidate() {
et5.addTextChangedListener( new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
}
@Override
public void afterTextChanged(Editable editable) {
Forlessvalues();
}
private String Forlessvalues() {
if (et5.getText().length() == 1 && et5.getText().length() < 10) {
String x = et5.getText().toString();
if (!(x.equals( "7" ) || x.equals( "8" ) || x.equals( "9" ))) {
et5.setError( "Enter Numbers starting with 7,8 or 9" );
return null;
}
}
return null;
}
} );
}
【问题讨论】:
-
作为第一个租船人,只需使用这个 if(x.equalsIgnoreCase(String.valueOf(6))){ et5.setError("输入以 7,8 或 9 开头的数字");}
-
使用可以使用这个正则表达式
^[789]\d{9}$来解决你的问题..