gpt4 book ai didi

android - 如何验证用于余额检查的 ussd 代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:22:35 26 4
gpt4 key购买 nike

如何在发送前验证在 edittext 中输入的 USSD 代码

我在这里放了一些代码,请帮助我。

ussd_edittext.addTextChangedListener(new TextWatcher() 
{
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
ussd_edittext.setError("Invalid password");
ussd_ok.setEnabled(false);
}
public void onTextChanged(CharSequence s, int start, int before, int count) {

if (ussd_edittext.getText().toString().trim().replaceAll("[^0-9#*]", "").length() < 4) {
ussd_edittext.setError("USSD code must contain * and #");
ussd_ok.setEnabled(false);
}
}
public void afterTextChanged(Editable s) {
Character cr = s.toString().charAt(0);
if(s.length() < 1)
{
if(!( (cr == '*') ) )
{ ussd_edittext.setError("USSD code must contain * and #");
ussd_ok.setEnabled(false);
}
else {
ussd_ok.setEnabled(true);
}
}
else
{
String lc = s.toString().substring(0, ussd_edittext.length() - 1);
if(!( (cr == '*') && lc.equals("#") ) )
{
ussd_edittext.setError("USSD code must contain * and #");
ussd_ok.setEnabled(false);
}
else {
ussd_ok.setEnabled(true);
}
}
}
});

我想验证它必须包含 * 和 # 也是最少 5 位数字。

最佳答案

这可能有帮助:

if (Pattern.matches("(\\*[0-9]+[\\*[0-9]+]*#)", ussd_edittext.getText().toString()) && ussd_edittext.length() >= 5) {
//USSD code is valid
} else {
//USSD code is not valid
}

关于android - 如何验证用于余额检查的 ussd 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40503595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com