日期:2014-05-16  浏览次数:20362 次

javascript几种常用数据有效性验证(笔记)
/*
 *只能输入数字
 *使用在obj的onkeyup事件上
 *@param obj 当前DOM对象
 *@author:raozhiyong
 */	
function onlyNumber(obj){
	obj.value = obj.value.replace(/\D/g, '');
}

/*
 *只能输入正整数和小数
 *使用在obj的onkeyup事件上
 *@param obj 当前DOM对象
 *@author:raozhiyong
 */	
function onlyDecimal(obj){
	//先把非数字的都替换掉,除了数字和.
	obj.value = obj.value.replace(/[^\d.]/g,"");
	//必须保证第一个为数字而不是.
	obj.value = obj.value.replace(/^\./g,"");
	//保证只有出现一个.而没有多个.
	obj.value = obj.value.replace(/\.{2,}/g,".");
	//保证.只出现一次,而不能出现两次以上
	obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
	
	//obj.value=obj.value.replace(/[^\d\.]*$/g, ''); //没有排除多个.的情况
}

/*
*只能输入中文
*使用在obj的onkeyup事件上
*@param obj 当前DOM对象
*@author:raozhiyong
*/	
function onlyChinese(obj){
	obj.value = obj.value.replace(/[^\u4E00-\u9FA5]/g,'');
	//onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))" 
}

/*
*只能输入中文和字母
*使用在obj的onkeyup事件上
*@param obj 当前DOM对象
*@author:raozhiyong
*/	
function onlyNumAndEn(obj){
	obj.value = obj.value.replace(/[^a-zA-Z\d]/g,'')
}

/*
*只能输入字母
*使用在obj的onkeyup事件上
*@param obj 当前DOM对象
*@author:raozhiyong
*/	
function onlyEnglish(obj){
	obj.value = obj.value.replace(/[^a-zA-Z]/g,'')
}

//ENTER键可以让光标移到下一个输入框:<input onkeydown="if(event.keyCode==13)event.keyCode=9" >
//屏蔽了输入法:<input style="ime-mode:disabled">

?