gpt4 book ai didi

java - 如何在 TextField Java 中限制字符和数值

转载 作者:行者123 更新时间:2023-12-04 05:11:39 25 4
gpt4 key购买 nike

我有两个关于字符和数值限制的问题。我一直在听焦点丢失事件并验证名称(字符)和联系人(数字)文本字段。

1. 如何限制数字数据少于 3 位并且不允许超过 13 位。

以下是我的联系人 TextField 的数字编码:

private void txt_contactFocusLost(java.awt.event.FocusEvent evt) {
if (txt_contact.getText().equals("")) {
} else {
String contact = txt_contact.getText();
Pattern pt6 = Pattern
.compile("^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]+$");
Matcher mh6 = pt6.matcher(contact);
boolean matchFound6 = mh6.matches();
if (!(matchFound6)) {
JOptionPane.showMessageDialog(null,
"* Enter the Numaric Values only *");
txt_contact.setText("");
txt_contact.requestFocus();
}
}
}

2. 如何限制少于 3 个字符的字符数据并且不允许超过 30 个字符。
private void txt_nameFocusLost(java.awt.event.FocusEvent evt) {
if (txt_name.getText().equals("")) {
error2.setText("Enter Full Name");
txt_name.setText("");
} else {
String name = txt_name.getText();
Pattern pt1 = Pattern.compile("^[a-zA-Z]+([\\s][a-zA-Z]+)*$");
Matcher mh1 = pt1.matcher(name);
boolean matchFound1 = mh1.matches();
if (!(matchFound1)) {
JOptionPane.showMessageDialog(null,
"* Enter the Character Values only *");
txt_name.setText("");
txt_name.requestFocus();
} else {
error2.setText("");
}
}
}

最佳答案

在模式中,您可以使用语句 {n,m} n- to m- times
因此,您可以像这样构建您的模式

用于您的字符比较

Pattern pt6=Pattern.compile("[a-zA-Z]{3,30}"); // it says, it should be 3-30 non Digits

对于数字是
Pattern pt6=Pattern.compile("\\d{3,13}"); // it says, it should be 3-13 Digits

关于java - 如何在 TextField Java 中限制字符和数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14857076/

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