java如何限制输入值_[限制input输入类型]常用限制input方法

常用限制input的方法

1.取消按钮按下时的虚线框,在input里添加属性值 hideFocus 或者 HideFocus=true

input type="submit" value="提交" hidefocus="true"

2.只读文本框内容,在input里添加属性值 readonly

input type="text" readonly

3.防止退后清空的TEXT文档(可把style内容作为类引用)

input type="text" style="behavior:url(#default#savehistory);"

4.ENTER键可以让光标移到下一个输入框

input type="text" οnkeydοwn="if(event.keyCode==13)event.keyCode=9"

6.只能为数字(有闪动)

οnkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

7.只能为数字(无闪动)

style="ime-mode:disabled" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" οnkeypress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false"

8.只能输入英文和数字(有闪动)

οnkeyup="value=value.replace(/[\W]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

9.屏蔽输入法

style="ime-mode:disabled" οnkeydοwn="if(event.keyCode==13)event.keyCode=9"

10. 只能输入 数字,小数点,减号(-) 字符(无闪动)

οnkeypress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false"

11. 只能输入两位小数,三位小数(有闪动)

maxlength="9" οnkeyup="if(value.match(/^\d{3}$/))value=value.replace(value,parseInt(value/10)) ;value=value.replace(/\.\d*\./g,'.')" οnkeypress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^\d{3}$/) || /\.\d{3}$/.test(value)) {event.returnValue=false}"

12.文本框只能输入数字代码(小数点也不能输入)

οnkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

13.只能输入数字,能输小数点

οnkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">

οnchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">

14.只能为数字和小数点方法二

οnkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" οnkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" οnblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">

15.只能输入字母和汉字

οnkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

16.只能输入英文字母和数字,不能输入中文

input οnkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

17.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号

onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

18.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号

19.只能是数字和小数点和加减乘除

input οnkeypress="return event.keyCode>=4&&event.keyCode<=57">

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以使用正则表达式或者输入过滤来实现输入限制。 一种常用的方式是使用正则表达式,例如,限制用户输入内容只能是数字: ```java import java.util.regex.*; public class InputLimitTest { public static void main(String[] args) { String input = "12345"; String pattern = "\\d+"; boolean isMatch = Pattern.matches(pattern, input); if (isMatch) { System.out.println("输入合法"); } else { System.out.println("输入不合法"); } } } ``` 这个例子中使用了正则表达式来匹配输入内容,只有输入内容是数字才会输出“输入合法”。 另一种方式是使用输入过滤,例如,限制用户只能输入数字: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class InputLimitTest2 { public static void main(String[] args) { JFrame frame = new JFrame("输入限制测试"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); JPanel panel = new JPanel(); frame.add(panel); JLabel label = new JLabel("请输入数字:"); panel.add(label); JTextField textField = new JTextField(10); panel.add(textField); textField.setDocument(new NumberOnlyDocument()); frame.setVisible(true); } } class NumberOnlyDocument extends PlainDocument { @Override public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { if (str == null) { return; } char[] chars = str.toCharArray(); boolean isNumber = true; for (int i = 0; i < chars.length; i++) { if (!Character.isDigit(chars[i])) { isNumber = false; break; } } if (isNumber) { super.insertString(offs, new String(chars), a); } } } ``` 这个例子中使用了Swing的JTextField来实现输入框,通过设置JTextField的Document来限制输入内容只能是数字。具体实现是创建一个NumberOnlyDocument类来继承PlainDocument,重写insertString方法,判断输入的字符是否是数字,如果是数字则调用父类的insertString方法,否则不做任何操作。最后将JTextField的Document设置为NumberOnlyDocument即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值