android - android如何检测Edittext中的多个字符串值
问题描述
如上所述。我想检测我的MultiAutoCompleteTextView
. 它只检测在 EditText 中检测到的第一个字符串。我想要的是如果我有 5 对它会检测到所有这些。我想用它来创建一个文本验证器例如:
<script> </script>
<script> </script>
<script> </script>
<script> </script>
<script> </script>
如果至少有一个字符串不相似.. 它将显示一条 toast 消息以及许多检测到的相似文本
Toast.makeText(this, "Script Tag is Correct" + i, Toast.LENGTH_SHORT).show();
这是我尝试过的:
for (int i = 0 ; i <= 0; i ++ ) {
String text = txtEditor.getText().toString();
if (text.contains("<script>") && text.contains("</script>"))
{
// If Editor contains the specified String
Toast.makeText(this, "Script Tag is Correct" + i, Toast.LENGTH_SHORT).show();
if (text.contains("var") && text.contains("{") && text.contains("}") && text.contains(";")){
Toast.makeText(this, "Var Tag is Correct", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "Var Tag is inCorrect", Toast.LENGTH_SHORT).show();
}
}
break;
已编辑:我想要的是如果我的 EditText 包含多个类似的字符串,例如下面。它将检测所有脚本标签,如果脚本标签拼写错误或缺少字符串,它将显示一个 Toast 消息。
<script>
var myObj = { name: "John", age: 31, city: "New York" };
var myJSON = JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
</script>
<script> var myObj = { name: "John", age: 31, city: "New York" };
var myJSON = JSON.stringify(myObj); window.location = "demo_json.php?x=" + myJSON; </script>
解决方案
//声明数组列表
ArrayList scriptStartTag = new ArrayList();
ArrayList scriptEndTag = new ArrayList();
for (int i = 0 ; i <= 0; i ++ ) {
String text = txtEditor.getText().toString();
if (text.contains("<script>"))
{
// If Editor contains the specified String
Toast.makeText(this, "Script Tag is Correct" + i, Toast.LENGTH_SHORT).show();
//add in to start arrayList
scriptCount.add("startTagFound");
if (text.contains("<script>")){
//add in to end arrayList
scriptEndTag.add("endTagFound")
}
if (text.contains("var") && text.contains("{") && text.contains("}") && text.contains(";"))
{
Toast.makeText(this, "Var Tag is Correct", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(this, "Var Tag is inCorrect", Toast.LENGTH_SHORT).show();
}
}
}
//如果计数为5则检查对然后做你想做的事
if (scriptStartTag.size() == 5 && scriptEndTag.size() == 5) {
if (scriptStartTag.size() == scriptEndTag.size()) {
//do what you want
} else {
//your error msg
}
} else {
//your error msg
}
推荐阅读
- c++ - 如何解决两个不同库的头文件中的函数名和宏名之间的名称冲突?
- python - 编辑使用乘法生成的嵌套列表的值时出现错误
- flutter - Flutter - 在 ListView 顶部添加图层以滚动
- python - 如何使用表单数据在 Robot Framework/Python 中创建发布请求以上传文件和其他键值
- php - 通过来自移动设备的电子邮件验证用户时创建新会话
- sql - 如何在postgres中将唯一行从一个表插入到另一个表?
- flutter - Flutter 应用发布构建挂起调用 getApplicationDocumentsDirectory();
- python - 使用不区分大小写的 Pandas str.contains
- javascript - 任何 babel 插件可以删除不必要的分配?
- php - 缺少页面重定向器 Laravel 实现 Redirector