首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何只接受小写字母和数字,并将它们放在单独的TextFields中?

要实现只接受小写字母和数字,并将它们放在单独的TextFields中,可以按照以下步骤进行:

  1. 创建一个文本输入框(TextField)用于接收用户输入。
  2. 添加一个文本变化监听器(TextWatcher)来监听用户输入的变化。
  3. 在文本变化监听器中,获取用户输入的文本,并进行过滤。
  4. 使用正则表达式来检查用户输入的字符是否为小写字母或数字。
  5. 如果用户输入的字符符合要求,则将其添加到相应的TextField中。
  6. 如果用户输入的字符不符合要求,则忽略该字符或给出错误提示。
  7. 可以为每个TextField设置最大长度限制,以防止输入过长的字符。

以下是一个示例代码,演示了如何实现上述功能:

代码语言:txt
复制
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

import java.util.regex.Pattern;

public class Main extends Application {

    private static final Pattern VALID_PATTERN = Pattern.compile("[a-z0-9]*");

    @Override
    public void start(Stage primaryStage) {
        GridPane gridPane = new GridPane();
        gridPane.setPadding(new Insets(10));
        gridPane.setHgap(10);

        TextField lowercaseTextField = new TextField();
        TextField digitTextField = new TextField();

        lowercaseTextField.setPromptText("Only lowercase letters");
        digitTextField.setPromptText("Only digits");

        lowercaseTextField.textProperty().addListener((observable, oldValue, newValue) -> {
            if (!isValidInput(newValue)) {
                lowercaseTextField.setText(oldValue);
            }
        });

        digitTextField.textProperty().addListener((observable, oldValue, newValue) -> {
            if (!isValidInput(newValue)) {
                digitTextField.setText(oldValue);
            }
        });

        gridPane.add(lowercaseTextField, 0, 0);
        gridPane.add(digitTextField, 0, 1);

        Scene scene = new Scene(gridPane, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    private boolean isValidInput(String input) {
        return VALID_PATTERN.matcher(input).matches();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在上述示例代码中,我们创建了两个TextField,分别用于接收小写字母和数字。通过添加文本变化监听器,我们可以在用户输入时进行过滤。isValidInput()方法使用正则表达式来检查用户输入的字符是否为小写字母或数字。如果不符合要求,我们将文本框的值重置为旧值,以确保只接受符合要求的字符。

这只是一个简单的示例,你可以根据实际需求进行扩展和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift: 有用标准库全局函数

全局函数 Global functions :无需特定类型范围就可以从任何地方访问函数是一个古老概念,在 C Objective-C 等语言中很流行,但是在 Swift 不建议使用,因为我们希望对它们进行很好类型化范围划分...zip() zip函数也许是最著名全局函数,它使您可以采用两个或多个数组并将它们合并为一个元组序列。...,尤其是填补StringsArrays空白。...例如,这是我们如何在Date对象添加“日差”概念,以便可以在stride()中使用它们: extension Date: Strideable { func advanced(by n: Int...本文未在本节单独提及,因为如果需要交换数组元素,则使用正确方法是Array.swapAt()。但是,在需要创建伪“aux”属性来保存值其他情况下,仍然可以使用swap()。

2.7K20

【IOS开发基础系列】UIAlertController专题

下面的代码片段展示了如何初始化显示一个带有“取消”“好”按钮对话框视图。...为了实现原来我们在创建UIAlertView时创建按钮效果,我们只需创建这两个动作按钮并将它们添加到控制器上即可。     ...一般来说,根据苹果官方制定《iOS 用户界面指南》,在拥有两个按钮对话框,您应当将取消按钮放在左边。...举个栗子吧,要重新建立原来登录密码样式对话框,我们可以向其中添加两个文本框,然后用合适占位符来配置它们,最后将密码输入框设置使用安全文本输入。     ...创建上拉菜单方式创建对话框方式非常类似,唯一区别是它们形式。

45330

Python网络数据抓取(8):正则表达式

引言 正则表达式是查找文本模式强大工具。它们就像在 Word 文档上使用 Ctrl-F 一样,但功能比它们强大得多。 当您验证任何类型用户输入时,尤其是在抓取网页时,这非常有帮助。...电子邮件第一部分可以包括: 大写字母 [A-Z] 小写字母 [a-z] 数字 [0–9] 现在,如果被抓取电子邮件不遵循此模式,那么我们可以轻松忽略该电子邮件并可以继续处理另一封电子邮件。...我们将匹配模式,直到 @ 符号括号后面的加号意味着我们正在寻找这些字符一个或多个字符任意组合。 由于电子邮件是由许多域提供,因此我们必须指定我们正在寻找一个或多个大写小写字母。...现在,假设我们需要将每个电话号码输入到不带连字符连续数字字符串,但我们希望保留单词形式连字符。我们将为此编写正则表达式。...每个反斜杠数字代表一个组,因此我们新模式是将三个组连接在一起,而不使用连字符。我们将 r 放在字符串之前,将其视为原始字符串。 现在,让我们接受用户输入并检查它是否有效。

9910

Swift入门:枚举

枚举(Enumerations)通常称为“ enum”,发音为“ ee-num”,是一种在Swift定义自己方法。在某些编程语言中,它们只是简单小事,但是Swift给它们增加了巨大功能。...例如,我们可以说有五种天气:sun, cloud, rain, wind snow。如果我们将其设为枚举,则意味着Swift将仅接受这五个值-其他任何情况都会触发错误。...首先,每种天气类型现在都在单独一行。这似乎是一个很小更改,在这个示例确实如此,但是很快就变得很重要。...case snow } 如您所见,其他情况不需要速度值——我只是把它放在wind。...因此,请仔细考虑如何给case排序! 提示:Swift可选参数实际上是使用关联值枚举实现。有两种情况:nonesome,some具有可选值内值。

77120

python快速入门【六】----真题测试

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串大写字母转换成小写字母,之后返回新字符串。...,an,每个数代表坐标一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 两个端点分别为 (i, ai) (i, 0)。...# Code goes here 文件操作 有两个磁盘文件AB,各存放一行字母,要求把这两个文件信息合并(按字母顺序排列), 输出到一个新文件C In [ ] def combination...六、文字冒险游戏 你想做个清新脱俗文字游戏,在命令行黑框里运行。 功能描述:尽量参考回合制RPG游戏模式,游戏剧情自编,要有战斗模式,主角有HP属性,战斗吃东西会对HP有相应增减效果。...调整发送频率,以免被服务器拒绝。 十、用邮件控制电脑 你电脑放在宿舍,这时你在教室上课,你又决定搞个恶作剧吓吓装病请假在宿舍玩游戏室友。

47730

《SQL开发样式指南》,让你SQL代码更加规范

在名字中使用字母、数字下划线。 不要在名字中出现连续下划线——这样很难辨认。 在名字需要空格地方用下划线代替。 尽量避免使用缩写词。使用时一定确定这个缩写简明易懂。...在代码形成一个从上到下“川流”,这样帮助读者快速扫描代码并将关键字实现细节分开。川流在排版时应该避免,但是对书写SQL语句是有帮助。...在真的需要浮点数运算时候才使用REALFLOAT类型,否则使用NUMERICDECIMAL类型。浮点数舍入误差是个麻烦。...当数字范围可以确定时,用CHECK()来防止错误值进入数据库或被错误地转换。大部分情况下至少要确认值要大于零。 CHECK()约束应该在单独语句中以便debug。...将值存入一列并将单位存在另一列。列定义应该让自己单位不言自明以避免在应用内进行合并。使用CHECK()来保证数据库数据是合法

14310

什么是PEP8?

演示功能, demo_function 变量 为了提高可读性,我们可以使用小写字母、单词或单独单词。 n、数字、input_num 类 类名第一个字母应大写或以驼峰大小写书写。...演示类, 模型, 教程点 方法 为了提高可读性,我们可以使用小写字母、单词或单独单词。...demo_method,方法名 不断 它可以是简短、大写字母、单词或单独单词 DEMOCONSTANT、CONSTANT、CONSTANT DEMO_CONSTANT 模块 它是小写字母、单词或单独单词...Module_name.py, module.py 包 它可以是小写字母、单词或单独单词。...我们可以通过使用大量空白垂直线来摆脱它,但读者可能需要滚动太多。要添加垂直空格,请按照以下步骤操作。 具有两行顶级函数类 - 在它们周围添加额外垂直空间,使它们更具可读性。

1.3K40

卷积神经网络(CNN)数学原理解析

当然,我们可以将每个像素像素值作为单独特征,并将其作为输入传递给我们密集网络。 不幸是,为了让该网络适用于一张特定智能手机照片,我们网络必须包含数千万甚至数亿个神经元。...2、数字图像数据结构 让我们先花一些时间来解释数字图像是如何存储。你们大多数人可能知道它们实际上是由很多数字组成矩阵。每一个这样数字对应一个像素亮度。...图3 核卷积列子 将过滤器放置在选定像素上之后,我们从kernel中提取每个相应位置值,并将它们与图像相应值成对相乘。最后,我们总结了所有内容,并将结果放在输出特征图对应位置。...例如,对于最大值池化层,我们从每个区域中选择一个最大值,并将放在输出相应位置。在卷积层情况下,我们有两个超参数——滤波器大小步长。...由于在这种类型,我们没有任何必须更新参数,所以我们任务只是适当地分布梯度。正如我们所记得,在最大值池化正向传播,我们从每个区域中选择最大值,并将它们传输到下一层。

34410

正则表达式——Java程序员懂你

: 一个或者没有 +: 一个或者多个 \d: 数字 (): 用括号分组,整体相当于一个单独字符 |: 代表或者,一般与括号分组一起使用 下面看具体代码, 测试方案 这里测试方案是采用之前io中文件名过滤器那段代码...这段代码输出结果为: 09:21:02[testRegExp]: 8 开始测试 上面的测试方案我们写入正则表达式是“\\d”,匹配一位正整数字符。下面开始正式热身测试。...下面来介绍如何在java创建一个正则表达式,主要是在java.util.regexPattern类Matcher类。...,无符号+,分别代表一个或没有,一个,一个或多个,那么有没有一个符号可以覆盖它们所有情况,代表没有或有,一个或多个呢?...*: 含有一个或多个该字符,或者不含有该字符 而且一般正则表达式是小写字母代表本身意思,它大写代表相反意思,例如上面提到, \w: 词字符,大小写字母数字 \W: 非词字符 ^: 非 所以\W也可以表示为

93050

RefactoringGuru 代码异味重构技巧总结

代码如何“闻味道”?? ——它没有鼻子…但它肯定会发臭! 代码膨胀 【代码膨胀】是代码、方法类,它们规模已经增加到了难以处理地步。...用查询替换临时变量 问题:将表达式结果放在局部变量,以便以后在代码中使用。 解决方案:将整个表达式移动到一个单独方法,并从中返回结果。查询方法,而不是使用变量。...提取类 问题:当一个类做两个类工作时,会非常笨拙。 解决方案:相反,创建一个新类,并将负责相关功能字段方法放在其中。...解决方案:将所有特殊检查边界情况隔离到单独子句中,并将放在主要检查之前。理想情况下,你应该有一个条件列表,一个接一个。 用多态替换条件 问题:你有一个条件,根据对象类型或属性执行各种操作。...解决方案:为它们创建一个共享超类,并将所有相同字段方法移动到其中。 提取接口 问题:多个客户端使用类接口同一部分。另一种情况:两个类部分接口是相同

1.8K40

追踪状态——消息解码问题思路剖析

这个流包含了一系列由逗号分隔整数,每个整数都可以用Cint类型表示。但是,一个特定整数所表示字符取决于当前解码模式。共有3种这样模式:大写字母、小写字母标点符号。...因此,大写字母模式143这个值表示字母H,因为143除以27余数为8,而H正是字母表第8个字母。 小写字母模式机制类似,只不过表示小写字母。...整数除以27余数表示小写字母(1=a,接下来以此类推)。因此,在小写字母模式下,56这个值表示字母b,因为56除以27余数是2,而b正是字母表第2个字母。...例如:输入一个数为35,我们用程序以字符形式分别读取了35之后,把它们分别转换为整数35,然后通过表达式3*10+5得到总整数。...这段代码用于处理一系列字符到对应整数值转换。在最终程序,我们将读取一系列由逗号分隔数,而且每个数必须单独读取并处理。

74930

Kali Linux 秘籍 第八章 密码攻击

密码破解是所有渗透测试者都需要执行任务。本质上,任何系统最不安全部分就是由用户提交密码。无论密码策略如何,人们必然讨厌输入强密码,或者时常更新它们。这会使它们易于成为黑客目标。...这样将它们组合起来,我们就指定了一个自定义字符集,它包括特殊字符(s),大写字母(u),小写字母(l)和数字(d),生成长度为 8 密码。我们打算指定叫做attackfile哈希表。 ....attackfile是我们攻击文件。 -1 ?l?u?d?指定了自定义字符集1,它包含小写字母、大写字母、数字特殊字符。 ?1?1?1?1是使用字符集1左掩码。 ?1?1?1?...这样将它们组合起来,我们就指定了一个自定义字符集,它包括特殊字符(s),大写字母(u),小写字母(l)和数字(d),生成长度为 8 密码。我们打算指定叫做attackfile哈希表。 ....attackfile是我们攻击文件。 -1 ?l?u?d?指定了自定义字符集1,它包含小写字母、大写字母、数字特殊字符。 ?1?1?1?1是使用字符集1左掩码。 ?1?1?1?

1.3K30

C++_异常处理

,有的错误编译器检查不出来,;又比如违背正常情况,比如要求输入小写字母,但是实际输入大写或者数字等,这种错误编译器一般不会检查出来。...) 当然,也可以通过断言等方式来处理一些错误,当assert判别式结果为false时候,就直接异常退出程序 C++如何实现异常处理 C++异常处理机制是由三个部分组成:检查(try)、抛出(...立即跳出throw所在函数,回到上一级函数(比如main函数) try-catch结构 try关键字负责划定需要检查代码区域,在区域内代码段会接受检查,try被检查代码段被合称为try块 catch...块必须紧跟try块,catch不能脱离try单独使用,且两者之间不能夹杂其他语句;但是try块是可以单独使用,即检查不处理,catch块在另一个函数里面 花括号不能省略 由于一段代码可能存在多种错误情况...(…),这表示这个catch块可以接受任何类型异常信息 throw语句try-catch块在同一个函数,也可以不在同一个函数

30410

cURL-7.72.0(scheme)

“://”(一个冒号两个斜杠)将scheme标识符与URL其余部分分开。有些URL包含一个斜杠,但curl不支持这种格式。关于斜杠数量,需要注意事项有两个。...curl允许一些非法语法,并尝试在内部纠正它们,因此它也可以理解并接受一些带有一个或三个斜杠URL,即使它们格式不正确。...这是一种非常基本猜测,因为它检查主机名第一部分是否与一组协议某个协议匹配,并假定你打算使用就是这个协议。这主要基于传统服务器命名方式。...它们还会处理空格、编码地址等,但规范并没有说明这些事情应该由客户端完成。 地址栏只是一个简单界面,让人可以输入看到URI风格字符串。...URL单独选项 前面介绍了curl如何解析命令行所有选项并将它们应用于所有的URL。 curl还提供了另一个选项(--next,短格式为-;),用于在一组选项URL之间插入间隔。

1.2K30

刷脸背后,卷积神经网络数学原理原来是这样

数字照片数据结构 让我们先花少许时间解释一下数字图像存储方式。大多数人可能意识到了,图像实际上就是巨大数字矩阵。每个数字代表是一个单独像素亮度。...核卷积例子 在将我们滤波器放在选中像素上之后,我们将卷积核每一个数值图像对应数值成对相乘。最后将乘积结果相加,然后把结果放在输出特征图正确位置上。...在设计 CNN 结构时,如果我们想让接受域有更少重叠或者想让特征图有更小空间维度,那么我们可以决定增大步长。考虑到扩充跨步,输出矩阵维度可以使用下面的公式计算: ?...最后但同等重要是,I-IV 是卷积核数值——它们必须被学习到。 ? 图 9. 连接剪切参数共享 现在,让我们聚焦于卷积层两个重要属性。...一个卷积层在前向反向传播输入输出数据 我们任务是计算 dW^[l] db^[l]——它们是与当前层参数相关导数,还要计算 dA^[ l -1],它们会被传递到之前层。

39720

leetcode周赛225

有效时间为 00:00 到 23:59 之间所有时间,包括 00:00 23:59 。 替换 time 隐藏数字,返回你可以得到最晚有效时间。 示例 1: 输入:time = "2?:?...满足三条件之一需改变最少字符数 给你两个字符串 a b ,二者均由小写字母组成。一步操作,你可以将 a 或 b 任一字符 改变为 任一小写字母 。...; 2) 将 a 变为 "bbb" 并将 b 变为 "aaa",3 次操作,满足 b 每个字母都小于 a 每个字母; 3) 将 a 变为 "aaa" 并将 b 变为 "aaa",2 次操作,满足...提示: 1 <= a.length, b.length <= 10^5 a b 小写字母组成 思路: 第三种方案最简单把每个字符串分别变成出现次数最多字符即可。...放置盒子 有一个立方体房间,其长度、宽度高度都等于 n 个单位。请你在房间里放置 n 个盒子,每个盒子都是一个单位边长立方体。放置规则如下: 你可以把盒子放在地板上任何地方。

54510
领券