JS表单脚本输入验证
*以下是库函数目录及使用说明:
*
*常用
*1、Trim=去除字符串前后空格 使用方法:String.trim()
*2、ctrim=去除字符串中间空格 使用方法:String.ctrim()
*3、onClickSelect=点中text框的时候,选中其中的文字 使用方法:在input位置加上
onClick/onFocus="onClickSelect();" 即可
*
*动态输入类 使用方法:在input位置加上 onkeypress="函数名" 即可
*1、TextOnly=只允许输入字母、数字、下划线
*2、TextNumOnly=只允许输入字母、数字
*3、NumOnly=只允许输入数字
*4、TelOnly=只能输入电话、"-"、"("、")"
*
*表单验证类
*1、isAccount=是否帐号(由字母、数字、下划线组成){有两种选择,一种有长度限制}
*2、isChinese=是否中文(由中文、数字、字母组成)
*3、ismail=是否Email
*4、isip=是否ip
*5、PhoneCheck=电话号码检测(电话和手机)
*6、isMobile=手机号码检测
*7、isDate=是否短日期
*8、isTime=是否时间
*9、isDateTime=是否长日期
*
*其它函数
*1、changeFrame=改变Frame大小
*2、CheckAll=全选/全不选
*3、onKeyDownDefault=回车->转->Tab
*4、admin_Size=改变TextArea输入框高度
*
*其它验证正则表达式
*Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
*Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/
*Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/
*Currency : /^\d+(\.\d+)?$/
*Number : /^\d+$/
*Zip : /^[1-9]\d{5}$/
*QQ : /^[1-9]\d{4,8}$/
*Integer : /^[-\+]?\d+$/
*Double : /^[-\+]?\d+(\.\d+)?$/
*English : /^[A-Za-z]+$/
*Chinese : /^[\u0391-\uFFE5]+$/
*UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/
*Username : /^[a-z]\w{3,}$/i(用户名验证,带长度限制)
*/
//========================================================================常用函数
//--------------------------------除去前后空格
String.prototype.trim = function()
{
//用正则表达式将前后空格用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//--------------------------------除去中间空格
String.prototype.ctrim = function()
{
//用正则表达式将中间空格用空字符串替代。
return this.replace(/\s/g,'');
}
//--------------------------------点中text框的时候,选中其中的文字
/**
*方法名:onClickSelect
*描述:点中text框的时候,选中其中的文字
*输入:空
*输出:空
**/
function onClickSelect()
{
var obj = document.activeElement;
if(obj.tagName == "TEXTAREA")
{
obj.select();
}
if(obj.tagName == "INPUT" )
{
if(obj.type == "text")
obj.select();
}
}
//========================================================================动态输入类函数
//--------------------------------只允许输入字母、数字、下划线(动态判断)
function TextOnly(){
var i= window.event.keyCode
//8=backspace
//9=tab
//37=left arrow
//39=right arrow
//46=delete
//48~57=0~9
//97~122=a~z
//65~90=A~Z
//95=_
if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==95)||(i==8)||(i==9)||
(i==37)||(i==39)||(i==46)))
{
//window.event.keyCode=27;
event.returnValue=false
return false;
}
else
{
//window.event.keyCode=keycode;
return true;
}
}
//--------------------------------只允许输入字母、数字(动态判断)
function TextNumOnly(){
var i= window.event.keyCode
//8=backspace
//9=tab
//37=left arrow
//39=right arrow
//46=delete
//48~57=0~9
//97~122=a~z
//65~90=A~Z
//95=_
if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==8)||(i==9)||(i==37)||
(i==39)||(i==46)))
{
//window.event.keyCode=27;
event.returnValue=false
return false;
}
else
{
//window.event.keyCode=keycode;
return true;
}
}
//--------------------------------只允许输入数字(动态判断)
/**
*方法名:NumOnly()
*描述:只允许输入数字
*输入:空
*输出:空
**/
function NumOnly(){
var i= window.event.keyCode
//8=backspace
//9=tab
//37=left arrow
//39=right arrow
//46=delete
//48~57=0~9
if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46))
{
window.event.keyCode=27;
return false;
}
else
{
//window.event.keyCode=keycode;
return true;
}
}
//--------------------------------只能输入电话号码或者"-"或者"("或者")"
function TelOnly(){
var i= window.event.keyCode
//8=backspace
//9=tab
//37=left arrow
//39=right arrow
//46=delete
//48~57=0~9
//40=(
//41=)
//45=-
//32=空格
if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46) && (i!=40) &&
(i!=41) && (i!=45) && (i!=32))
{
window.event.keyCode=27;
return false;
}
else
{
//window.event.keyCode=keycode;
return true;
}
}
//========================================================================动态输入函数(结束
)
//========================================================================表单验证函数
//--------------------------------判断用户名(判断字符由字母和数字,下划线,点号组成.且开头
的只能是下划线和字母)
function isAccount(str)
{
if(/^[a-z]\w{3,}$/i.test(str)) //用户名由字母和数字、下划线组成,且只能以字母开头,且长
度最小为4位
//if(/^([a-zA-z]{1})([\w]*)$/g.test(str))//用户名由字母和数字、下划线组成,且只能以字母开
头
{
//alert(');
return true;
}
else
return false;
}
//--------------------------------判断只能输入中文、数字、字母
function isChinese(str)
{
var pattern = /^[0-9a-zA-Z\u4e00-\u9fa5]+$/i;
if (pattern.test(str))
{
return true;
}
else
{
//alert("只能包含中文、字母、数字");
return false;
}
}
//--------------------------------Email格式判断
function ismail(email)
{
return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]
+$/).test(email));
}
//--------------------------------IP格式判断
function isip(s)
{
var check=function(v)
{
try
{
return (v<=255 && v>=0)
}
catch(x)
{
return false
}
};
var re=s.split(".")
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re
[3])):false;
}
//--------------------------------判断电话号码/手机号码
function PhoneCheck(s)
{
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}
13[0-9]{9}$)/;
//alert(reg.test(str));
return reg.test(str);
}
//--------------------------------判断手机号码
function isMobile(str)
{
var reg=/^0{0,1}13[0-9]{9}$/;
return reg.test(str);
}
//--------------------------------短日期(如2003-12-05)
function isDate(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)
{
//alert('输入的信息不是日期格式(YYYY:MM:DD)');
return false;
}
if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31)
{
//alert("日期格式(YYYY:MM:DD)不对");
return false
}
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
//--------------------------------短时间(如13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null)
{
//alert('输入的信息不是时间格式(HH:MM:SS)');
return false;
}
if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0)
{
//alert("时间格式(0<=HH<23:0<=MM<60:0<=SS<60)不对");
return false
}
return true;
}
//--------------------------------长时间(如2003-12-05 13:04:06)
function isDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
{
//alert('输入的信息不是时间格式(YYYY-MM-DD HH:MM:SS)');
return false;
}
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r
[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
//========================================================================表单验证函数(结束
)
//========================================================================其它函数
//用于改变当前后台框架的尺寸(参数:对象,关闭时显示图片,打开时显示图片,关闭显示尺寸,打开显示
尺寸)
//
例:this,'../images/openout.gif','../images/setby.gif','top.frame.cols=\'0,*\'','top.frame.c
ols=\'150,*\''
function changeFrame(ob,s1,s2,evalString1,evalString2)
{
if (ob.alt == "收起")
{
ob.alt = "展开";
ob.src = s1;
eval(evalString1);
}
else
{
ob.alt = "收起";
ob.src = s2;
eval(evalString2);
}
}
//用于全选/全不选(参数form=表单)
function CheckAll(form)
{
for (var i=0;i<form.length;i++)
{
var e = form[i];
if (e.type=="checkbox")
{
if (e.name!="AllChoice")
{
if (form.AllChoice.checked==true)
{
if (e.disabled==false) e.checked=true;
}
else
{
if (e.disabled==false) e.checked=false;
}
}
}
}
}
//--------------------------------用户在button以外的页面元素中按回车-->转换-->按tab键
/**
*方法名:onKeyDownDefault
*描述:用户在button以外的页面元素中按回车,转换为按tab键
*输入:空
*输出:空
**/
function onKeyDownDefault()
{
if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey
== false){
if (window.event.srcElement.type != "button")
window.event.keyCode = 9;
}
else{
return true;
}
}
// 修改编辑栏高度
function admin_Size(num,objname)
{
var obj=document.getElementById(objname)
if (parseInt(obj.rows)+num>=3) {
obj.rows = parseInt(obj.rows) + num;
}
if (num>0)
{
obj.width="90%";
}
}
//取得字符串中中文/汉字的个数
function getChineseNum(obstring)
{
var pattern = /^[\u4e00-\u9fa5]+$/i;
var maxL,minL;
maxL = obstring.length; //原始长度
obstring = obstring.replace(pattern,"");
minL = obstring.length; //处理后的长度
return (maxL - minL)
}
//只能输入大小写英文字母、汉字、数字、下划线
function checkname(){
var str = document.getElementById("a").value;
var str1 = /^[0-9a-zA-Z\u4e00-\u9fa5_]+$/i;
//var str2 = /^([u4e00-u9fa5]|[ufe30-uffa0]|[a-za-z0-9_])*$/;
var f = str.match(str1);
if(f == null){
alert("只能输入大小写英文字母、汉字、数字、下划线!");
return false;
}
return true;
}
分享到:
相关推荐
同时,系统还提供了浏览他人收藏的功能,使得用户能够发现和学习更多有趣或有用的内容,从而扩展自己的知识视野。 在技术实现上,"云收藏"运用了JavaScript进行开发,这是一门广泛用于前端编程的脚本语言,能够创建...
JavaScript代码收藏大全中...以上就是JavaScript代码收藏大全中所包含的一些常见技巧和功能,它们可以帮助开发者创建更安全、更个性化的网页交互体验。在实际开发中,应根据具体需求和用户隐私政策灵活运用这些技巧。
【标题】"js仿iphone的图片展示特效"指的是使用JavaScript编程语言来实现一种模拟iPhone设备上图片展示的交互效果。这种特效通常包括滑动切换图片、缩放、平移等特性,旨在为用户带来与使用真实iPhone设备类似的浏览...
但可以推测,"别人收藏的代码"可能包含了其他人收集的各种代码示例,可能包括JavaScript函数、.NET类库、CSS样式表,以及各种自定义的UI控件等。 【知识点详解】 1. JavaScript(JS): - DOM操作:用于动态修改...
以下是一些JavaScript经典代码示例及其详细解释: 1. `oncontextmenu="window.event.returnValue=false"`:这段代码用于禁用浏览器的默认上下文菜单(即鼠标右键点击时出现的菜单),使得用户无法通过右键点击进行...
这些技巧展示了JavaScript如何被用来增强用户体验,同时也可能用于一些可能被认为是侵犯用户权益的行为。了解这些技术可以帮助用户更好地理解和应对网络上的各种限制。然而,需要注意的是,破解他人网站的限制可能...
这样的工具对于开发者来说非常重要,因为它们可以帮助整理个人的代码库,提高代码复用率,减少重复编写相同或类似代码的时间,同时也能方便地分享和学习他人的代码。 描述中提到“可以把各种语言的代码收藏起来,...
以下是一些JavaScript的常用代码示例及其详细解释: 1. `oncontextmenu="window.event.returnValue=false"`:这个代码用于禁用浏览器的右键菜单。当用户尝试在页面元素上点击右键时,事件会被阻止,从而防止默认的...
在提供的文件内容中,列举了一些经典的JavaScript代码片段,这些代码主要用于增强用户体验、保护网页内容以及实现特定的功能。以下是这些代码的详细解释: 1. `oncontextmenu="window.event.returnValue=false"`:...
本源码项目是基于Flask和Fembed的私人视频收藏与分享网站设计,包含3242个文件,主要使用JavaScript、HTML、CSS、Python和PHP编程语言。...通过这个平台,用户可以轻松地管理自己的视频收藏,并与他人分享。
这篇文章收藏了一些有用的JavaScript代码,涵盖了防止用户右键菜单、防止复制、粘贴、修改浏览器 favicon 等多个方面的经典代码。以下是对每个代码点的详细解释: 1.oncontextmenu="window.event.returnvalue=false...
4. Bounce:这是一个简单的javascript游戏,玩家需操控蓝色方块避开红色点,同时尽可能触碰黄色点,展示出JavaScript在实时响应和动态渲染上的实力。 5. Sketch 3D:这是一款创新的在线3D素描工具,允许用户创作...
百度收藏夹-本程序整合百度搜索、网址收藏、个人微博为一体,很适合给用户作为主页使用。整体程序均由小清自行开发,无任何版权问题,可以放心使用。 百度收藏夹 2.9 升级列表: 1、修改发表框中的表情部分到新的...
6. 防止框架嵌套:对于防止自己的网页被嵌入到别人的框架(frame)中,可以使用如下的JavaScript检查: ```javascript if (top.location != self.location) top.location=self.location; ``` 这段代码会检查当前...
以下是关于JavaScript混淆加密与解密的一些详细知识点: 1. 混淆的目的与方法: - JavaScript代码之所以会被混淆,是为了防止他人轻易获取代码逻辑,保护知识产权,避免代码被恶意利用。 - 混淆手段包括:利用...
而`qrcode.js`则是一个轻量级的JavaScript库,专门用于生成二维码。本教程将详细介绍如何利用jQuery和qrcode.js在网页上生成二维码,并结合图标进行自定义。 ### 1. qrcode.js介绍 `qrcode.js`由Davidshimjs开发,...
【标题】中的“一个Chrome插件替换Chrome默认首页让大家共享收藏夹”指的是开发了一个Chrome浏览器扩展,该扩展程序能够修改Chrome浏览器的默认启动页,使其能够展示和共享用户及其团队或社群成员的收藏链接。...
6. 防止页面被嵌入到框架(frame)中:通过检查 `window.top` 和 `self.location`,如果当前页面不是顶级窗口,那么重定向到新的页面,这样可以防止他人将你的页面嵌入到他们的框架里。 7. 阻止网页被另存为:使用 ...
JavaScript是一种广泛应用于网页和网络应用的编程语言,它在网页动态效果、用户交互以及网页功能实现上发挥着重要作用。在给定的“javascript效果”主题中,我们可以深入探讨以下几个核心概念: 1. **横幅导航广告*...
以下是一些JavaScript的实用技巧汇总: 1. **禁用鼠标右键菜单**:通过`oncontextmenu`事件,可以阻止用户在网页上点击鼠标右键打开上下文菜单。例如:`;"><td>no right click</td></table>`。 2. **禁止文本选择...