`
Leon.Wood
  • 浏览: 288258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

输入限制

阅读更多


下面是JS的函数,自己加在网页里就可以了。

在要进行限制的input分项上加入 onKeyPress事件然后调用制定函数就可以了

至于验证用户名不能重复,这个恐怕HTML无法实现,因为要访问数据库。

* 在GB2312编码格式下可正常显示此文档,代码编写过程难免有错误,错误之处欢迎指正
*
******函数说明******
*
* isEmail(emailStr) //邮件校验,通过校验返回ture,否则返回false
* isIp(strIp) //IP地址校验,输入正确的IP地址返回ture,否则返回false
* isTelphoneNum(telNum) //电话号码校验,正确的电话号码(如0571-1234567[8] 010-1234567[8] )则返回ture,否则返回false
* isMobilephoneNum(mobileNum) //手机号码校验,正确的手机号码(如:13800571506 013800571505)则返回ture,否则返回false
* isDigital(str) //纯数字验证输入,输入为纯数字则返回ture,否则返回false
* card(id) //18位身份证验证,输入正确的号码返回ture,否则返回false
* matchPattern(value,mask) //自定义规则,mask为正确的正则表达式,返回通过自定义验证的字符串
* isEnglish(name) //判断是否为英文,正确返回ture,否则返回false
* isChinese(name) //判断是否为中文,正确返回 ture,否则返回false
* contain(str,charset) //非法字符判断,str中有charset则返回ture,
* testSelect() //选中文本框或文本域文本,在input位置加上 onClick/onFocus="textSelect();" 即可
* textOnly() //只允许输入数字 字母 下划线,在input位置加上 onkeypress="textOnly()" 即可
* isURL(URL) //判断URL,正确的URL返回true,否则返回false
* isDate(date) //判断是否为短日期(如:2003-(/)12-(/)05),正确返回,否则返回false
* isTime(time) //判断是否为短时间(如:HH:MM:SS)
* enterToTab() //在表单元素中除button外,按回车键模拟TAB功能
* enterTOSubmit(name) //在填写表单时按回车键提交表单,name为sumbit控件名
* isFloat(float,index) //判断是否为浮点数,并且小数点后面为index位,正确返回true
* trimFullSpace(strIn) //返回去前后全角半角空格后的字符串
* //校验密码复杂度,密码由数字,大小写字母,特殊字符中的任意三种组合,通过则返回true
* checkPassWord(passWord,maxLen) //由三个函数组成checkPassWord(),charMode(),bitTotal()
* maxLength(strin,maxLen) //判断字符最大长度,如果strin的长度不大于maxLen返回tur
* minLength(strin,minLen) //判断字符最小长度,如果的长度不小于minLen返回ture
* isAccount(str) //判断用户名合法性(字母 数字式下划先组成且只能以字母开头,且长度最小为6位),合法返回true,否则返回false
* getChineseNum(obstring) //取得字符串中中文字的个数
* isInteger(str) //判断输入的字符是否为Integer类型,是则返回true,否则返回false
* isDouble(str) //判断输入的字符是否为Double类型,是则返回true,否则返回false
*/
//*******************************************************************

 

//邮件校验 
//通过校验返回ture,否则返回false 
function isEmail(emailStr) ...{ 
if (emailStr.length == 0) ...{ 
return fasle; 
} else ...{ 
var emailPat=/^(.+)@(.+)$/; 
var specialChars="\(\)<>@,;:\\\"\.\[\]"; 
var validChars="[^\s" + specialChars + "]"; 
var quotedUser="("[^"]*")"; 
var ipDomainPat=/^(d...{1,3})[.](d...{1,3})[.](d...{1,3})[.](d...{1,3})$/; 
var atom=validChars + '+'; 
var word="(" + atom + "|" + quotedUser + ")"; 
var userPat=new RegExp("^" + word + "(\." + word + ")*$"); 
var domainPat=new RegExp("^" + atom + "(\." + atom + ")*$"); 
var matchArray=emailStr.match(emailPat); 
if (matchArray == null) ...{ 
return false; 
} 
var user=matchArray[1]; 
var domain=matchArray[2]; 
if (user.match(userPat) == null) ...{ 
return false; 
} 
var IPArray = domain.match(ipDomainPat); 
if (IPArray != null) ...{ 
for (var i = 1; i <= 4; i++) ...{ 
if (IPArray[i] > 255) ...{ 
return false; 
} 
} 
return true; 
} 
var domainArray=domain.match(domainPat); 
if (domainArray == null) ...{ 
return false; 
} 
var atomPat=new RegExp(atom,"g"); 
var domArr=domain.match(atomPat); 
var len=domArr.length; 
if ((domArr[domArr.length-1].length < 2) || 
(domArr[domArr.length-1].length > 3)) ...{ 
return false; 
} 
if (len < 2) ...{ 
return false; 
} 
return true; 
} 
} 


//IP地址校验 
//正确的IP地址回ture,否则返回false 
function isIp(strIp) ...{ 
var ipDomainPat=/^((2[0-4]d|25[0-5]|[01]?dd?).)...{3}(2[0-4]d|25[0-5]|[01]?dd?)$/; 
var matchArray=strIp.match(ipDomainPat); 
if(matchArray!=null)...{ 
return true; 
} 
} 


//电话号码校验 
//正确的电话号码(包括区号和“-”如0571-1234567[8] 010-1234567[8] )则返回ture,否则返回false 
function isTelphoneNum(telNum)...{ 
var telphoneNumPat=/^0d...{2}-d...{7,8}|0d...{3}-d...{7,8}$/; 
var matchArray=telNum.match(telphoneNumPat); 
if(matchArray!=null)...{ 
return true; 
} 
} 


//手机号码校验 
//正确的手机号码(如:13800571506 013800571505)则返回ture,否则返回false 
function isMobilephoneNum(mobileNum)...{ 
var mobilephoneNumPat=/^1d...{10}|01d...{10}$/; 
var matchArray=mobileNum.match(mobilephoneNumPat); 
if(matchArray!=null)...{ 
return true; 
} 
} 

//纯数字验证输入,输入为纯数字则返回ture,否则返回false 
function isDigital(str)...{ 
var digitalPot=/^d*$/; 
var matchArray=str.match(digitalPot); 
if(matchArray!=null)...{ 
return true; 
} 
} 
//18位身份证验证,输入正确的号码返回ture,否则返回false 
function card(id)...{ 
var Wi=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); 
var ai="10X98765432"; 
var sum=0 
var ssum=0; 
//alert(id.charAt(i)); 
for(var i=0;i<17;i++)...{ 
ssum=eval(Wi[i]*id.charAt(i)); 
sum=ssum+sum; 
} 
var modNum=sum%11; 
if(ai.charAt(modNum)==id.charAt(17))...{ 
return true; 
} 
} 

//自定义规则,mask为正确的正则表达式 
//返回通过自定义验证的字符串 
function matchPattern(value,mask) ...{ 
return mask.exec(value); 
} 

//判断是否为英文,正确返回ture,否则返回false 
function isEnglish(name) ...{ 
if(name.length == 0) 
return false; 
for(i = 0; i < name.length; i++) ...{ 
if(name.charCodeAt(i) > 128) 
return false; 
} 
return true; 
} 

//判断是否为中文,正确返回 ture,否则返回false 
function isChinese(name) 
...{ 
if(name.length == 0) 
return false; 
for(i = 0; i < name.length; i++) ...{ 
if(name.charCodeAt(i) > 128) 
return true; 
} 
return false; 
} 

//非法字符判断,str中有charset则返回ture, 
function contain(str,charset)...{ 
var i; 
for(i=0;i<charset.length;i++)...{ 
if(str.indexOf(charset.charAt(i))>=0)...{ 
return true; 
} 
return false; 
} 
} 

//选中文本框或文本域文本,在input位置加上 onClick/onFocus="textSelect();" 即可 
function textSelect() ...{ 
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; 
} 
} 

//判断URL,正确的URL返回true,否则返回false 
function isURL(URL)...{ 
var urlPat=/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/; 
var matchArray=URL.match(urlPat); 
if(matchArray!=null){ 
return true; 
} else { 
return false; 
} 
} 

//判断短日期(如2003-12-05) 
function isDate(date){ 
var r = date.match(/^(d{1,4})(-|/)(d{1,2}) (d{1,2})$/); 
if(r==null){ 
return false; 
} 
if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31) { 
return false 
} 
var d= new Date(r[1], r[3]-1, r[4]); 
if(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]){ 
return true; 
} 
} 

//判断短时间(HH:MM:SS) 
function isTime(time){ 
var a = time.match(/^(d{1,2})(:)?(d{1,2}) (d{1,2})$/); 
if (a == null) 
{ 
return false; 
} 
if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0){ 
return false 
} 
return true; 
} 

//在表单元素中除button外,按回车键模拟TAB功能 
function enterToTab(){ 
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; 
} 
} 

//在填写表单时按回车键提交表单,name为sumbit控件名 
function enterTOSubmit(name) { 
if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){ 
var objSubmit=document.getElementById(name); 
objSubmit.focus; 
} else { 
return true; 
} 
} 

//返回去前后全角半角空格后的字符串 
function trimFullSpace(strIn) { 
if (strIn == null){ 
return null; 
} else { 
var len = strIn.length; 
var start = 0; 
var end = strIn.length; 
for (var i = 0; i < len; i++){ 
if (strIn.charAt(i) == ' ' || strIn.charAt(i) == ' '){ 
start++; 
} else { 
break; 
} 
} 
for (var i = len - 1; i > -1; i--){ 
if (strIn.charAt(i) == ' '|| strIn.charAt(i) == ' '){ 
end--; 
} else { 
break; 
} 
} 
if (start >= end){ 
return ""; 
} else { 
return strIn.substring(start, end); 
} 
} 
} 

//判断是否为浮点数,并且小数点后面为index位,正确返回true 
function isFloat(float,index){ 
var floatPat=/^(d{1,})[.](d{1,})$/; 
var matchArray=float.match(floatPat); 
if(matchArray!=null) { 
if(matchArray[2].length==index){ 
return true; 
} 
} 
} 

//判断字符最大长度,如果strin的长度不大于maxLen返回ture 
function maxLength(strin,maxLen) { 
var len=0; 
for(var i=0;i<strin.length;i++) 
{ 
if(strin.charCodeAt(i)>256) 
{ 
len += 2; 
} else { 
len++; 
} 
} 
if(len<=maxLen){ 
return true; 
} 
} 

//判断字符最小长度,如果的长度不小于minLen返回ture 
function minLength(strin,minLen) { 
var len=0; 
for(var i=0;i<strin.length;i++) 
{ 
if(strin.charCodeAt(i)>256) 
{ 
len += 2; 
} else { 
len++; 
} 
} 
if(len>=maxLen){ 
return true; 
} 
} 

//由三个函数组成checkPassWord(),charMode(),bitTotal() 
//校验密码复杂度,密码由数字,大小写字母,特殊字符中的任意三种组合,通过则返回true 
function checkPassWord(passWord,maxLen){ 
if (passWord.length<=maxLen) 
return false; //密码太短 
Modes=0; 
for (i=0;i<passWord.length;i++){ 
//测试一个字符并判断一共有多少种模式. 
Modes|=charMode(passWord.charCodeAt(i)); 
} 
return bitTotal(Modes); 
} 
//CharMode函数 
//判断某个字符是属于哪一种类型. 
function charMode(iN){ 
if (iN>=48 && iN <=57) //数字 
return 1; 
if (iN>=65 && iN <=90) //大写字母 
return 2; 
if (iN>=97 && iN <=122) //小写 
return 4; 
else 
return 8; //特殊字符 
} 
//bitTotal函数 
//计算出当前密码当中一共有多少种模式 
function bitTotal(num){ 
modes=0; 
for (i=0;i<4;i++){ 
if (num & 1) modes++; 
num>>>=1; 
} 
if(modes==3){ 
return true 
} 
} 

//判断是否为合法的用户名,合法返回true,否则返回flase 
//用户名由字母和数字、下划线组成,且只能以字母开头,且长度最小为6位 
function isAccount(str){ 
if(/^[a-z]w{3,}$/i.test(str)) 
{ 
return true; 
} else { 
return false; 
] 
} 

//取得字符串中中文字的个数 
function getChineseNum(obstring){ 
var pattern = /^[一-龥]+$/i; 
var maxL,minL; 
maxL = obstring.length; 
obstring = obstring.replace(pattern,""); 
minL = obstring.length; 
return (maxL - minL) 
} 

//判断输入的字符是否为Integer类型,是返回true,否则返回false 
function isInteger(str){ 
var integerPat=/^[-+]?d+$/; 
var matchArray=str.match(integerPat); 
if(matchArray!=null){ 
return true; 
} else { 
return false; 
} 
} 

//判断输入的字符是否为Double类型,是返回true,否则返回false 
function isDouble(str){ 
var doublePat=/^[-+]?d+(.d+)?$/; 
var matchArray=str.match(doublePat); 
if(matchArray!=null){ 
return true; 
} else { 
return false; 
} 
} 

 

分享到:
评论

相关推荐

    MFC实现Edit输入限制(只允许输入数字,负号和小数点)

    我们将在该函数中实现输入限制逻辑。 接下来,在`MyEdit.cpp`文件中实现`MyEdit`类: ```cpp #include "stdafx.h" #include "MyEdit.h" MyEdit::MyEdit() { } MyEdit::~MyEdit() { } BEGIN_MESSAGE_MAP(MyEdit,...

    字数输入限制按百分比例显示代码

    "字数输入限制按百分比例显示代码"是一种实现这一功能的技术,它允许开发者动态地根据输入框的总字符数限制来显示当前已输入的百分比,为用户提供实时反馈。 首先,我们要理解这个功能的基本工作原理。通常,我们会...

    表单输入限制方法代码

    下面将详细解析上述提到的几种表单输入限制方法代码: ### 1. 仅允许数字输入 ```html (/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"&gt; ``` 这段代码通过正则表达式`/\D/g`匹配所有非数字...

    文本框的输入限制

    这篇博客“文本框的输入限制”可能探讨了如何在编程中实现这一功能。 在Web开发中,例如使用HTML5,我们可以直接通过`&lt;input&gt;`标签的属性来设定输入限制。例如,`type="text"`定义了一个基本的文本输入框,而`...

    实现EDIT控件限制输入

    下面将详细介绍如何实现EDIT控件的输入限制。 1. **消息过滤**: - 编写自定义的消息处理函数,通常是通过重载`WM_CHAR`消息。当用户在EDIT控件中按下键盘键时,系统会发送`WM_CHAR`消息。在这个消息处理函数中,...

    jquery 插件 文本框输入限制 汉字,字母

    本篇文章将深入探讨如何使用jQuery插件来实现文本框(input)的输入限制,仅允许用户输入汉字和字母。 首先,我们需要理解jQuery插件的基本结构。一个简单的jQuery插件通常包含一个函数,该函数接收jQuery对象作为...

    常用文本框输入限制代码

    javasxript的常用文本框的输入限制代码 有正则,有keyup,也有粘贴限制

    javacript 控制文本输入限制

    javacript控制文本输入限制javacript控制文本输入限制javacript控制文本输入限制

    文本框输入限制(正则表达式)

    文本框输入限制是Web开发中常见的一种需求,用于控制用户在表单中输入的数据类型、格式,以确保数据的有效性和安全性。正则表达式(Regular Expression)作为一种强大的文本处理工具,在实现这种输入限制时扮演了...

    弹出消息和文字输入限制

    在IT行业中,弹出消息和文字输入限制是两个常见的功能需求,特别是在开发用户交互界面时。下面我们将深入探讨这两个主题。 首先,让我们关注"弹出消息"。在软件开发中,弹出消息通常指的是对话框或者通知,它们用于...

    IPV4输入框,输入限制

    本文将深入探讨IPV4输入框的实现原理、功能特性以及如何在实际应用中设置输入限制。 首先,IPV4地址是由32位二进制数表示的网络地址,通常被分为四段,每段8位,用十进制数表示,并以点分隔,如192.168.0.1。IPV4...

    字数输入限制百分比显示CSS+JS代码

    本文将详细介绍如何使用CSS和JavaScript实现字数输入限制的功能。 首先,我们需要创建一个HTML文本输入框元素,我们可以这样编写: ```html &lt;!DOCTYPE html&gt; 字数输入限制示例 /* CSS样式可以根据实际需求...

    iOS-UITextField自定义输入限制

    这篇教程将详细介绍如何自定义`UITextField`的输入限制,以实现保留两位小数并排除特殊符号的功能。 首先,我们需要创建一个`UITextField`的分类(Category)来扩展它的功能。在Objective-C中,我们可以创建一个名...

    textarea输入限制方法

    ### textarea输入限制方法 在网页开发中,对`textarea`元素进行输入限制是十分常见的需求。这不仅可以提高用户体验,还能有效防止用户输入过长或不符合规定的文本内容,从而减轻服务器负担,提高系统的稳定性和安全...

    控制输入框只能输入数字

    通过自定义一个函数`MxFormatKeyPress`来处理不同类型的输入限制。这个函数将检查输入字符是否符合所设定的规则,并根据不同的输入类型(整数或浮点数)以及特定的格式要求(如小数位数限制),决定是否允许该字符被...

    swift-一行代码解决UITextFiled和UITextView限制字数和输入特殊字符

    在实际项目中,我们可以根据需要在初始化UITextField或UITextView后调用`limitInput`方法,这样就为每个实例设定了输入限制。例如: ```swift let textField = UITextField() textField.limitInput(20) // 限制输入...

    ios-这是一个文本输入限制字数的通用输入框控件,简单实用。.zip

    这个名为“ios-这是一个文本输入限制字数的通用输入框控件,简单实用”的压缩包提供了一个解决方案,允许开发者轻松实现对用户输入字数的限制。这个控件简化了处理文本输入长度的复杂逻辑,确保用户不会超过预设的...

    js-文本框输入限制.docx

    以下是一些示例代码,展示了如何使用JavaScript实现不同类型的输入限制: 1. 只允许输入数字和小数点: ```html ;" type="text" name="textfield" style="width:400px; ime-mode:disabled" value=""&gt; ``` 这段代码...

    利用My97 DatePicker控件实现日期输入限制.pdf

    "利用My97 DatePicker控件实现日期输入限制" 该资源主要介绍了如何使用My97 DatePicker控件实现日期输入限制。My97 DatePicker是一款开源、免費的JavaScript日期控件,具有强大的日期范围限制功能、自定义事件和...

Global site tag (gtag.js) - Google Analytics