欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java限制輸入數(shù)字和字母

錢多多1年前7瀏覽0評論

在Java中,有時需要限制用戶在輸入時只能輸入數(shù)字或字母,而不能輸入其他字符。這在很多情況下都是必要的,比如用戶注冊時需要輸入賬號和密碼,如果用戶輸入非法字符可能會導致安全問題。

//限制用戶只能輸入數(shù)字
textField.setDocument(new NumberOnlyDocument());
//限制用戶只能輸入字母
textField.setDocument(new LetterOnlyDocument());

上述代碼中,使用了兩種不同的Document實現(xiàn),分別限制用戶只能輸入數(shù)字或字母。

public class NumberOnlyDocument extends PlainDocument {
public void insertString(int offset, String s, AttributeSet attributeSet) throws BadLocationException {
try {
Integer.parseInt(s);
super.insertString(offset, s, attributeSet);
} catch (NumberFormatException e) {
}
}
}
public class LetterOnlyDocument extends PlainDocument {
public void insertString(int offset, String s, AttributeSet attributeSet) throws BadLocationException {
if (s == null) {
return;
}
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (!Character.isLetter(chars[i])) {
return;
}
}
super.insertString(offset, s, attributeSet);
}
}

這兩個Document實現(xiàn)基礎(chǔ)類都是PlainDocument,最主要的方法是insertString。在insertString中判斷用戶輸入的字符是否合法,如果合法則使用父類的方法插入字符串,否則不進行任何操作。

通過使用這兩個Document實現(xiàn),就可以限制用戶只能輸入數(shù)字或字母,可以有效避免輸入非法字符的情況。