input中 type=number 的文本框(数字框) 去掉箭头 且不能输入e和标点符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了input中 type=number 的文本框(数字框) 去掉箭头 且不能输入e和标点符号相关的知识,希望对你有一定的参考价值。

参考技术A

偶然的机会,PM看我写的页面,然后我自己随便输入一个值的时候,发现number框可以输入“e”,"...",出于好奇去网上查了一下,发现这点是可以控制的,html如下:

默认是这样的效果:

然后我们先来控制这个箭头不显示,在css里加上这些样式:

要想设置number框只允许输入纯数字的话,我们在input的onkeypress的属性里设置一个按键方法,来控制允许输入的值:

这样设置以后再去看就只允许输入数字了,而且输入该值的时候输入法是禁用的,不允许调,如果还需要设置它的最大最小值,可以在max和min属性里设置,最后总结一些ime-model的语法:

ime-mode 的语法解释如下:
ime-mode : auto | active | inactive | disabled
取值:
auto : 默认值。不影响IME的状态。与不指定 ime-mode 属性时相同
active : 指定所有使用IME输入的字符。即激活本地语言输入法。用户仍可以撤销激活IME
inactive : 指定所有不使用IME输入的字符。即激活非本地语言。用户仍可以撤销激活IME
disabled : 完全禁用IME。对于有焦点的控件(如输入框),用户不可以激活IME
IME 是指 Input Method Editors 输入法编辑器

jsp页面中<input type="text">设定value的取值范围,文本框的取值范围是5000到1000000。

有会的朋友麻烦来帮忙解决下。谢谢了!

楼上的说的有点道理 用文本框存储字节不太靠谱 试着换textarea 文本域
不过既然你有需求 那就一定要结局 毕竟顾客至上!
用一种java语言给你解释下判断里面有多少字节
原理懂了 用javascript jQuery 随你。

package com;

public class ReturnSubString
//写一个函数,2个参数,1个字符串,1个字节数,返回截取的字符串,要求字符串中的中文不能出现乱码:
//如(“我ABC”,4)应该截为“我AB”,输入(“我ABC汉DEF”,6)应该输出为“我ABC”而不是“我ABC+汉的半个”。
public String subString(String str, int subBytes)
int bytes = 0; // 用来存储字符串的总字节数
for (int i = 0; i < str.length(); i++)
if (bytes == subBytes)
return str.substring(0, i);
else
char c = str.charAt(i);
if (c < 256)
bytes += 1; // 英文字符的字节数看作1
else
bytes += 2; // 中文字符的字节数看作2
if(bytes - subBytes == 1)
return str.substring(0, i);




return str;

public static void main(String[] args)
ReturnSubString rss=new ReturnSubString();
String str=rss.subString("我kf是j",7);
System.out.println(str);


参考技术A 如果文本值太大的话 建议你用文本域

这个你可以用js验证
先把值取出来 再进行判断
参考技术B 我已经测试过了,符号你的要求,希望能帮到你。
<html>
<body>
<script language="javascript">
function onExit(field)

var value=field.value;
if(value<5000 || value>1000000)
document.getElementById("prompt").innerText="请输入在5000到1000000之间的数";
else
document.getElementById("prompt").innerText="正确";

</script>
<input type="text" maxlength="30" size="30" style="color:#0000FF" name="number" id="number" onblur="onExit(this)">
<label id="prompt"></label>
</body>
</html>
参考技术C 这个通过JS来实现,你在<input>中改为<input type="text" id="myText" onblur="check()" />

然后写:
<script type="text/javascript">
function check()

var x=document.getElementById("myText");
if(!(x.value>5000 && x.value<1000000))
x.value="";
x.focus();


</script>

当你输入数据不满足条件时,在文本框失去焦点的时候会清空内容并重新获得焦点。
参考技术D 真是无语了,用文本框来存5000-1000000个字符,你觉得有实际意义吗?

以上是关于input中 type=number 的文本框(数字框) 去掉箭头 且不能输入e和标点符号的主要内容,如果未能解决你的问题,请参考以下文章

input标签及属性

去掉input的type为number输入框的右侧箭头

input type['number']输入框的一些问题

文本框数量加减功能

jsp页面中<input type="text">设定value的取值范围,文本框的取值范围是5000到1000000。

javascript 如何获取表单中所有文本框