常用javascript小函数汇总

本文介绍了JavaScript中的几个实用技巧,包括实现四舍五入、去除字符串前后空格的方法及如何控制用户在页面上的输入,确保仅能输入数字和小数点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. javascript 四舍五入函数

 

function sswr(zhi)//四舍五入
{
	var val = Number(zhi);//格式强转换一下,挺有必要的

	val = Math.round(val*Math.pow(10,2))/Math.pow(10,2);
	return val;
}

 

比网上的多了一个格式强转换,这是在项目实际实施中遇见问题后改进的。java和javascript的float的存储问题,造成个别数值会出现小数点儿后发生问题的情况。例如在页面上的75.755,被存储成float型,就有可能是75.75499999999....

这种情况下,保留两位小数的四舍五入就会出现0.01的误差呵呵,加上个强转换能尽量减少这个情况,目前这个四舍五入的函数还没有出现误差。

 

2.javascript 的 trim() ,去掉前后空格

javascript本身没有trim()函数,所以如果在javascript中需要用到去掉某个字符串变量的前后空格,就要自己写一个trim()函数了:

function trim(str)//去掉首尾空格
{
   return str.replace(/(^\s*)|(\s*$)/g, "");
}

 

用的是正则表达式,具体正则表达式的原理,我也不懂,对正则表达式了解太少。

 

3.控制客户在页面的输入,限制页面录入,限制部分字符的录入。只允许录入数字

想要控制页面某个inputbox的输入,只能录入数字和小数点,不允许录入字母字符和汉字

首先,在页面的inputbox加上控制:

<input type="text" name="name" value="0.0" 
onFocus="this.select();" style="ime-mode:disabled"  onKeyPress="checkkey(this);" onBlur="setZ(this);"  
>

 

其中 style的控制让用户不能在本inputbox中使用输入法,禁用input的输入法;

onKeyPress的事件是当这个控件获得焦点之后,任意的键盘敲击都会引发checkkey(this)这个函数;

onBlue的事件就是当这个控件失去焦点之后,运行setZ(this)这个函数

其中checkkey(this)这个函数的代码如下:

function checkkey(inputbox)
{
		var obj = inputbox;//取得页面控件
		var cellvalue = obj.value;//取得页面控件的值
		if( (cellvalue.indexOf(".") >= 0)&&(event.keyCode==46) )
		{//如果页面控件的文本中已经有了'.'小数点这个字符,并且客户按下了键盘上“。”这个键
			event.returnValue = false;//页面对客户的按钮动作不响应
		}//不能多输入“.”字符
				
		if ( (event.keyCode < 48||event.keyCode > 57)&&(event.keyCode!=46) )
		{//客户录入的不是数字或者句号按键
			event.returnValue = false;//页面对客户的按钮动作不响应
		}
}

 其中,“。”这个键的event.keyCode==46,所以可以根据event.keyCode的值来判定用户敲击了哪个按键,是否要对客户的按键动作作出反应。具体event.keyCode的意义就是可以获取用户敲击了键盘的哪个键。

在上面的函数中,控制了用户只能录入数字和小数点,而且只能录入一个小数点。也有需要只能录入数字小数点和减号字符的函数,与此相似,也就不赘述了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值