Apr
15

javascript 表单输入内容限制     2009

 16:53    596    0   noel 程序 代码 源码 不指定 | |
javascript 表单输入内容限制

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

<input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">



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

<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/D/.test(this.value)){alert('只能输入数字');this.value='';}">



3.数字和小数点方法二

<input type=text t_value="" o_value="" onkeypress="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" onkeyup="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" onblur="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}">



4.只能输入字母和汉字

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



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

<input onkeyup="value=value.replace(/[^w./]/ig,'')">


6.只能输入数字和英文

<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">


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

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



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

<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">

9.只能输入汉字

  
<SCRIPT>
function onlychinese()
{
if ((window.event.keyCode >=32) && (window.event.keyCode <= 126))
{
window.event.keyCode = 0 ;
}
}
</SCRIPT>
<FORM name=frm >只能输入汉字的输入框
<P><INPUT onkeypress="onlychinese() " name=test> <INPUT type=button value=只能输入中文 name=submit onclick="javascript:ALERT('谢谢您的访问!')"> </P></FORM>



javascript检测表单的函数

检测IP地址:

function isIP(strIP) {

if (isNull(strIP)) return false;

var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式

if(re.test(strIP))

{

if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;

}

return false;

}




检测输入是否为空或全为空格:


function isNull( str ){

if ( str == "" ) return true;

var regu = "^[ ]+$";

var re = new RegExp(regu);

return re.test(str);

}



检测输入项是否为整数:


function isInteger( str ){

var regu = /^[-]{0,1}[0-9]{1,}$/;

return regu.test(str);

}



手机号检测函数:


function checkMobile( s ){  

var regu =/^[1][3][0-9]{9}$/;

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}



正整数检测:


function isNumber( s ){  

var regu = "^[0-9]+$";

var re = new RegExp(regu);

if (s.search(re) != -1) {

return true;

} else {

return false;

}

}



带小数的数字类型,可以为负数:


function isDecimal( str ){  

if(isInteger(str)) return true;

var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;

if (re.test(str)) {

if(RegExp.$1==0&&RegExp.$2==0) return false;

return true;

} else {

return false;

}



端口号检测函数:


function isPort( str ){

return (isNumber(str) && str<65536);

}



email检测函数:


function isEmail( str ){

var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;

if(myReg.test(str)) return true;

return false;

}


金钱输入检测,可带三位小数:


function isMoney( s ){  

var regu = "^[0-9]+[\.][0-9]{0,3}$";

var re = new RegExp(regu);

if (re.test(s)) {

return true;

} else {

return false;

}

}



限制输入项仅为英文,字母和下划线:


function isNumberOr_Letter( s ){//判断是否是数字或字母



var regu = "^[0-9a-zA-Z\_]+$";

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}



仅限数字和字母:


function isNumberOrLetter( s ){//判断是否是数字或字母



var regu = "^[0-9a-zA-Z]+$";

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}



再来一个,限汉字,字母,数字:


function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成



var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";  

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}



日期检测函数,传入日期,格式:


function isDate( date, fmt ) {

if (fmt==null) fmt="yyyyMMdd";

var yIndex = fmt.indexOf("yyyy");

if(yIndex==-1) return false;

var year = date.substring(yIndex,yIndex+4);

var mIndex = fmt.indexOf("MM");

if(mIndex==-1) return false;

var month = date.substring(mIndex,mIndex+2);

var dIndex = fmt.indexOf("dd");

if(dIndex==-1) return false;

var day = date.substring(dIndex,dIndex+2);

if(!isNumber(year)||year>"2100" || year< "1900") return false;

if(!isNumber(month)||month>"12" || month< "01") return false;

if(day>getMaxDay(year,month) || day< "01") return false;

return true;

}



function getMaxDay(year,month) {

if(month==4||month==6||month==9||month==11)

return "30";

if(month==2)

if(year%4==0&&year%100!=0 || year%400==0)

return "29";

else

return "28";

return "31";

}




再来一个email检测函数:


function checkEmail(strEmail) {

//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;

var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;

if( emailReg.test(strEmail) ){

return true;

}else{

alert("您输入的Email地址格式不正确!");

return false;

}

}



电话号码的:


function checkPhone( strPhone ) {

var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;

var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;

var prompt = "您输入的电话号码不正确!"

if( strPhone.length > 9 ) {

if( phoneRegWithArea.test(strPhone) ){

return true;

}else{

alert( prompt );

return false;

}

}else{

if( phoneRegNoArea.test( strPhone ) ){

return true;

}else{

alert( prompt );

return false;

}

}

}

作者:noel@淘宝网女装新款秋装连衣裙裤子外套上衣_2012时尚女装新款 Ecmall二次开发-PHP技术
地址:http://www.laohucheng.com/post/330/
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!

Tags: , 引用(0)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我