javascript 限制输入脚本大全


Posted in Javascript onNovember 03, 2009

1.只能输入汉字的
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">

2.只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
简易禁止输入汉字
<input type="text" style="ime-mode:disabled">
输入数字和小数点:
onkeyup="value=value.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g,'')"
javascript 只能输入数字和":".2007-11-24 15:50<input type=text id="aa1" onkeyup="this.value=this.value.replace(/[^\d&:]/g,'')" onblur="this.value=this.value.replace(/[^\d&:]/g,'')" onafterpaste="this.value=this.value.replace(/[^\d&:]/g,'')"/>
只能数字和":",例如在输入时间的时候可以用到。
<input type=text id="aa" onkeyup="value=value.replace(/[^\w&=]|_/ig,'')" onblur="value=value.replace(/[^\w&=]|_/ig,'')" />
只能输入字母和等号,不能输入汉字。
其它的东西:
只能输入数字的脚本javascript- -
1.<input onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')">
上半句意思是键盘键入只能是数字,下半句是粘贴也只能是数字
2.<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
3.<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
JavaScript限制只能输入数字和英文- -
function isregname( checkobj)
{
var checkOK = "0123456789-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var checkStr = checkobj;
var allValid = true;
var decPoints = 0;

for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
return (allValid)
}
----------------
if(!(isregname(obj.loginname.value))){
alert("[会员代号]不符合规范,会员代号只能是英文字母或数字");
obj.loginname.focus();
return(false);
}
if(!(isregname(obj.password.value))){
alert("[密码]不符合规范,密码只能是英文字母或数字");
obj.password.focus();
return(false);
}

4.javascript只能输入英文和数字的输入框
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
5.可以用Javascript对文本框进行检查,过滤掉非0-9的字符。
<script language="javascript" event="onkeydown" for="document">

if(event.srcElement.name=='TextBox1')

{

if(!KeyIsNumber(event.keyCode))

{

return false;//这句话最关键

}

}

</script>

<script language="javascript">

function KeyIsNumber(KeyCode)

{

//如果输入的字符是在0-9之间,或者是backspace、DEL键

if(((KeyCode>47)&&(KeyCode<58))||(KeyCode==8)||(KeyCode==46))

{

return true;

}

else

{

return false;

}

}

</script>[url=http://blog.csdn.net/xujh/admin/EditPosts.aspx][/url]

6.限制在文本框里面只能输入IP地址格式
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<style>
.a3{width:30;border:0;text-align:center}
</style>
<script>
function mask(obj){
obj.value=obj.value.replace(/[^\d]/g,'')
key1=event.keyCode
if (key1==37 || key1==39)
{ obj.blur();
nextip=parseInt(obj.name.substr(2,1))
nextip=key1==37?nextip-1:nextip+1;
nextip=nextip>=5?1:nextip
nextip=nextip<=0?4:nextip
eval("ip"+nextip+".focus()")
}
if(obj.value.length>=3)
if(parseInt(obj.value)>=256 || parseInt(obj.value)<=0)
{
alert(parseInt(obj.value)+"IP地址错误!")
obj.value=""
obj.focus()
return false;
}
else
{ obj.blur();
nextip=parseInt(obj.name.substr(2,1))+1
nextip=nextip>=5?1:nextip
nextip=nextip<=0?4:nextip
eval("ip"+nextip+".focus()")
}
}
function mask_c(obj)
{
clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))
}

</script>
<title>IP地址输入</title>

</head>
<body>IP地址输入
<div style="border-width:1;border-color:balck;border-style:solid;width:165;font-size:9pt">
<input type=text name=ip1 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()>.
<input type=text name=ip2 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()>.
<input type=text name=ip3 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()>.
<input type=text name=ip4 maxlength=3 class=a3 onkeyup="mask(this)" onbeforepaste=mask_c()>
</div>
</body>
</HTML>

7.限制输入格式的日期控件


----- 日期控件的另一种思路,限制输入格式的日期控件 ----- 关于日期输入,现在网上的日期控件很多,在这里,我试着模仿了部分CS程序中的日期输入控件,从另一个角度来考虑日期格式的输入,即输入日期时固定格式,用户只能在程序规定的地方输入数据。

例程如下,希望对大家有所帮助~~~ (时间仓促,例程是IE ONLY的)

<SCRIPT LANGUAGE='JavaScript'>

/**//*

* Added by LiuXiaoChong 2005.4.25

* 限制输入的日期控件

* Param: txtName 为要限制输入的文本框的名称

*

* 功能描述:1,只能输入数字

* 2,左右键可以移动编辑焦点

* 3,上下键可以对数据进行微调

* 4,控件包含了对日期的合法校验

*/

function regDateControl(txtName)

{

var oInput = document.getElementById(txtName);

oInput.middleChar = '-';

oInput.selectIndex = 1; //默认选中年

oInput.maxLength = 10;

oInput.style.imeMode = 'disabled';

oInput.value = specialText_GetDate(oInput.middleChar);

oInput.charWidth = oInput.createTextRange().boundingWidth / oInput.maxLength;

//注册单击事件

oInput.onclick = specialText_ClickEvent;

oInput.onkeydown = specialText_KeyDownEvent;

oInput.onfocus = function(){specialText_SelectYear(this);}

oInput.onblur = function()

{

specialText_validYear(this);

specialText_validMonth(this);

specialText_validDate(this);

}

//屏蔽鼠标右键和拖动操作

oInput.oncontextmenu = function(){return false;}

oInput.ondrop = function(){return false;}

}

//鼠标单击,根据位置对日期进行分体选择

function specialText_ClickEvent()

{

event.cancelBubble = true;

specialText_validYear(this);

specialText_validMonth(this);

specialText_validDate(this);

if(event.offsetX <= specialText_getCharWidth(this.charWidth,4))

specialText_SelectYear(this);

else if(event.offsetX > specialText_getCharWidth(this.charWidth,4)

&& event.offsetX <= specialText_getCharWidth(this.charWidth,7))

specialText_SelectMonth(this);

else if(event.offsetX > specialText_getCharWidth(this.charWidth,7))

specialText_SelectDate(this);

}

//选中年份

function specialText_SelectYear(oInput)

{

var oRange = oInput.createTextRange();

oRange.moveStart('character',0);

oRange.moveEnd('character',-6);

//代表选中了年

oInput.selectIndex = 1;

oRange.select();

}

//选中月份

function specialText_SelectMonth(oInput)

{

var oRange = oInput.createTextRange();

oRange.moveStart('character',5);

oRange.moveEnd('character',-3);

//代表选中了月

oInput.selectIndex = 2;

oRange.select();

}

//选中日期

function specialText_SelectDate(oInput)

{

var oRange = oInput.createTextRange();

oRange.moveStart('character',8);

//代表选中了日期

oInput.selectIndex = 3;

oRange.select();

}

//校验年份有效性

function specialText_validYear(oInput)

{

var arrValue = oInput.value.split(oInput.middleChar);

var strYear = arrValue[0];

if(parseInt(strYear,10) == 0)

arrValue[0] = 2000;

//如果年份小于4位,则在2000基础上增加

else if(strYear.length < 4)

arrValue[0] = 2000 + parseInt(strYear,10);

oInput.value = arrValue.join(oInput.middleChar);

}

//校验月份有效性

function specialText_validMonth(oInput)

{

var arrValue = oInput.value.split(oInput.middleChar);

var strMonth = arrValue[1];

//如果月份输入了0,则按1月处理

if(parseInt(strMonth,10) == 0)

arrValue[1] = '01';

//如果月份是一位,则前面补0

else if(strMonth.length < 2)

arrValue[1] = '0' + strMonth;

//如果月份大于12月,自动转为12月

else if(parseInt(strMonth,10) > 12)

arrValue[1] = '12';

oInput.value = arrValue.join(oInput.middleChar);

}

//校验日期有效性

function specialText_validDate(oInput)

{

var arrValue = oInput.value.split(oInput.middleChar);

var strYear = arrValue[0];

var strMonth = arrValue[1];

var strDate = arrValue[2];

var intMonth = parseInt(strMonth,10);

if(parseInt(strDate,10) == 0)

arrValue[2] = '01';

else if(strDate.length < 2)

arrValue[2] = '0' + strDate;

else

{

//如果超过了月份的最大天数,则置为最大天数

var monthMaxDates = specialText_getMonthDates(strYear,strMonth);

if(parseInt(strDate,10) > monthMaxDates)

arrValue[2] = monthMaxDates;

}

oInput.value = arrValue.join(oInput.middleChar);

}

function specialText_YearAdd(oInput,isMinus)

{

var arrValue = oInput.value.split(oInput.middleChar);

var strYear = arrValue[0];

if(isMinus)

{

arrValue[0] = parseInt(strYear,10) - 1;

if(parseInt(arrValue[0],10) < 1)

arrValue[0] = '0001';

}

else

arrValue[0] = parseInt(strYear,10) + 1;

oInput.value = arrValue.join(oInput.middleChar);

specialText_validYear(oInput);

specialText_SelectYear(oInput);

}

function specialText_MonthAdd(oInput,isMinus)

{

var arrValue = oInput.value.split(oInput.middleChar);

var strMonth = arrValue[1];

if(isMinus)

{

arrValue[1] = parseInt(strMonth,10) - 1;

if(parseInt(arrValue[1],10) == 0)

arrValue[1] = '12';

}

else

{

arrValue[1] = parseInt(strMonth,10) + 1;

if(parseInt(arrValue[1],10) == 13)

arrValue[1] = '01';

}

oInput.value = arrValue.join(oInput.middleChar);

specialText_validMonth(oInput);

specialText_SelectMonth(oInput);

}

function specialText_DateAdd(oInput,isMinus)

{

var arrValue = oInput.value.split(oInput.middleChar);

var strYear = arrValue[0];

var strMonth = arrValue[1];

var strDate = arrValue[2];

var monthMaxDates = specialText_getMonthDates(strYear,strMonth);

if(isMinus)

{

arrValue[2] = parseInt(strDate,10) - 1;

if(parseInt(arrValue[2],10) == 0)

arrValue[2] = monthMaxDates;

}

else

{

arrValue[2] = parseInt(strDate,10) + 1;

if(parseInt(arrValue[2],10) == (monthMaxDates + 1))

arrValue[2] = '01';

}

oInput.value = arrValue.join(oInput.middleChar);

specialText_validDate(oInput);

specialText_SelectDate(oInput);

}

function specialText_KeyDownEvent()

{

//如果按了数字键

if((event.keyCode >= 48 && event.keyCode <= 57) ||

(event.keyCode >= 96 && event.keyCode <= 105))

{

var oRange = document.selection.createRange();

if(oRange.text.indexOf(this.middleChar) != -1)

event.returnValue = false;

else

event.returnValue = true;

}

//如果按了方向键

else if(event.keyCode >= 37 && event.keyCode <= 40)

{

event.returnValue = false;

var keyCode = event.keyCode;

//按了左键

if(keyCode == 37)

{

if(this.selectIndex == 1)

{

specialText_validYear(this);

specialText_SelectDate(this);

}

else if(this.selectIndex == 2)

{

specialText_validMonth(this);

specialText_SelectYear(this);

}

else if(this.selectIndex == 3)

{

specialText_validDate(this);

specialText_SelectMonth(this);

}

}

//按了右键

if(keyCode == 39)

{

if(this.selectIndex == 1)

{

specialText_validYear(this);

specialText_SelectMonth(this);

}

else if(this.selectIndex == 2)

{

specialText_validMonth(this);

specialText_SelectDate(this);

}

else if(this.selectIndex == 3)

{

specialText_validDate(this);

specialText_SelectYear(this);

}

}

//按了上键

if(keyCode == 38)

{

if(this.selectIndex == 1)

{

specialText_validYear(this);

specialText_YearAdd(this,true);

}

else if(this.selectIndex == 2)

{

specialText_validMonth(this);

specialText_MonthAdd(this,true);

}

else if(this.selectIndex == 3)

{

specialText_validDate(this);

specialText_DateAdd(this,true);

}

}

//按了下键

if(keyCode == 40)

{

if(this.selectIndex == 1)

{

specialText_validYear(this);

specialText_YearAdd(this,false);

}

else if(this.selectIndex == 2)

{

specialText_validMonth(this);

specialText_MonthAdd(this,false);

}

else if(this.selectIndex == 3)

{

specialText_validDate(this);

specialText_DateAdd(this,false);

}

}

}

//如果按了F5 或 TAB,不屏蔽

else if(event.keyCode == 116 || event.keyCode == 9)

event.returnValue = true;

else

{

event.returnValue = false;

event.keyCode = 0;

}

}

/**//*---------------------辅助函数-----------------------*/

//得到默认日期

function specialText_GetDate(middleChar)

{

var oDate = new Date();

return oDate.getYear() + middleChar

+ (oDate.getMonth() < 10 ? ('0' + oDate.getMonth()) : oDate.getMonth()) + middleChar

+ (oDate.getDate() < 10 ? ('0' + oDate.getDate()) : oDate.getDate());

}

//得到字符像素宽度

function specialText_getCharWidth(charWidth,charNum)

{

return charNum * charWidth;

}

//得到某年某月的最大天数

function specialText_getMonthDates(strYear,strMonth)

{

var intMonth = parseInt(strMonth,10);

if(intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7

|| intMonth == 8 || intMonth == 10 || intMonth == 12)

return 31;

//处理30天的月份

else if(intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11)

return 30;

//处理2月份

else

{

//闰年

if(specialText_isLeapYear(strYear))

return 29;

//平年

else

return 28;

}

}

//判断是否是闰年

function specialText_isLeapYear(strYear)

{

var intYear = parseInt(strYear,10);

if((intYear % 4 == 0 && intYear % 100 != 0) ||

(intYear % 100 == 0 && intYear % 400 == 0))

return true;

else

return false;

}

/**//*----------------------------可以放到外部JS中 DateInputControl.js--------------------*/

function init()

{

regDateControl('date1');

}

</SCRIPT>

<body onload='init()'>

<INPUT TYPE='text' NAME='date1'>

</body>

Javascript 相关文章推荐
JavaScript 学习笔记(十一)
Jan 19 Javascript
jquery $.getJSON()跨域请求
Dec 21 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
Nov 25 Javascript
dreamweaver 8实现Jquery自动提示
Dec 04 Javascript
javascript封装的sqlite操作类实例
Jul 17 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
从零学习node.js之模块规范(一)
Feb 21 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
vue element自定义表单验证请求后端接口验证
Dec 11 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
Dec 21 Javascript
JavaScript中10个Reduce常用场景技巧
Jun 21 Javascript
jquery ajax 检测用户注册时用户名是否存在
Nov 03 #Javascript
基于JQuery框架的AJAX实例代码
Nov 03 #Javascript
Jquery AJAX 框架的使用方法
Nov 03 #Javascript
JQuery打造PHP的AJAX表单提交实例
Nov 03 #Javascript
jQuery get和post 方法传值注意事项
Nov 03 #Javascript
js window.onload 加载多个函数的方法
Nov 02 #Javascript
深入认识javascript中的eval函数
Nov 02 #Javascript
You might like
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
13个PHP函数超实用
2015/10/21 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
hammer.js实现图片手势放大效果
2017/08/29 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
线程和进程的区别及Python代码实例
2015/02/04 Python
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
利用Python破解斗地主残局详解
2017/06/30 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
Python3爬虫学习入门教程
2018/12/11 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
导致python中import错误的原因是什么
2020/07/01 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
英文翻译的自我评价语句
2013/10/04 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
详解如何用Python实现感知器算法
2021/06/18 Python