jQuery 版本的文本輸入框檢查器Input Check
更新時(shí)間:2009年07月09日 23:47:13 作者:
專門針對input[text password hidden]以及textarea的用戶輸入進(jìn)行檢查
復(fù)制代碼 代碼如下:
/**
* power by wooshoo copyright 2008-2009
* 程序名:JQuery 專用輸入檢查器
* 內(nèi)容:專門針對input[text password hidden]以及textarea的用戶輸入進(jìn)行檢查
* 檢查的范圍包括:字符數(shù)、是否包含特殊字符、是否為整數(shù)、是否符合email格式、是否為電話號碼、
* 是否為網(wǎng)站地址、是否為圖片地址、是否為浮點(diǎn)小數(shù)、是否為人民幣貨幣、是否為日期格式
* 是否為時(shí)間格式、是否為日期時(shí)間格式、是否為密碼格式(僅包含大小寫字母、數(shù)字及底劃線)、
* 暫不可用:是否為非英數(shù)特殊字符格式(即僅為中文、日文、韓文等大字符語言)、是否包含html標(biāo)簽、是否包含UBB標(biāo)簽、
*
*/
(function($) {
var wshc = $.fn.check = function(){
return wshc.fn.init(this);
}
DATETIME = {
FULL: "full",
SIMPLE: "simple",
ENGLISH: "english",
JAPANESE: "japanese",
CHINESE: "chinese"
}
wshc.fn = {
init: function(obj){
wshc.fn.val = obj.val();
return wshc.fn;
},
notNull: function(){
if(this.val !== "" || this.val !== undefined){
return true;
}
error("您沒有輸入任何字符。");
return false;
},
number: function(min,max){//檢查字?jǐn)?shù)是否超過限制
if(this.val.length >= min && this.val.length <= max){
return true;
}
error("您輸入的字符超過了"+min+"-"+max+"的限制。");
return false;
},
specialChar: function(pat){//檢查是否包含特殊字符
//特殊字符包括:\ / @ # $ % ^ & * = < > \n \r
//如果需要自定義,可以在參數(shù)中設(shè)定
pat = pat || /[\\\/\@\#\$\%\^\&\*\=\<\>\n\r]+/;
error("您輸入的字符包含了一些特殊字符。");
return mat(this.val,pat);
},
isNum: function(len){//檢查是否為數(shù)字
if(!isNaN(this.val)){
return true;
}
error("您輸入的不是數(shù)字。");
return false;
},
integer: function(){//檢查是否為整數(shù)
if(this.val == parseInt(this.val)){
return true;
}
error("您輸入的不是整數(shù)。");
return false;
},
float: function(){//檢查是否為小數(shù)
if(this.isNum() && !this.integer()){
return true;
}
error("您輸入的不是小數(shù)。");
return false;
},
rmb: function(){//檢查是否為貨幣(RMB標(biāo)準(zhǔn)格式為:0.00 or 10.00 除個(gè)位數(shù)外首位不為零)
var pat = /^([1-9][0-9]+|[0-9])\.[0-9]{2}$/;
error("您輸入的不是人民幣貨幣格式。");
return mat(this.val,pat);
},
email: function(pat){//檢查是否符合電子郵件格式
pat = pat || /^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z]{0,4}$/;
error("您輸入的不是電子郵件格式。");
return mat(this.val,pat);
},
http: function(pat){//檢查是否為網(wǎng)站的地址(包含http)
pat = pat || /^(http|HTTP):\/\/[^s]*/;
error("您輸入的不是通用網(wǎng)址格式。");
return mat(this.val,pat);
},
url: function(pat){//檢查是否為通信地址
pat = pat || /^[a-zA-z]+:\/\/[^s]*/;
error("您輸入的不是通用通信協(xié)議格式。");
return mat(this.val,pat);
},
image: function(pat){//檢查是否為圖片地址(jpg gif png bmp jpeg )
pat = pat || /^(http|HTTP):\/\/[^s]*(jpg|JPG|png|PNG|gif|GIF|bmp|BMP|jpeg|JPEG)$/;
error("您輸入的不是網(wǎng)頁允許的圖片格式。");
return mat(this.val,pat);
},
password: function(pat){
pat = pat || /^\w*$/;
error("您輸入的不是密碼格式。");
return mat(this.val,pat);
},
tel: function(pat){
pat = pat || /^\d{3}\-\d{8}$|^\d{4}\-\d{7}$/;
error("您輸入的不是中國地區(qū)的固定電話格式。");
return mat(this.val,pat);
},
mobile: function(pat){
pat = pat || /^1\d{10}$/;
error("您輸入的不是中國地區(qū)的移動(dòng)電話格式。");
return mat(this.val,pat);
},
datatime: function(){
return DATETIME;
},
date: function(type){
var pat;
switch(type){
case DATETIME.FULL:
pat = /^(([1-9]\d{0,3}|0)\-\d{2}\-\d{2})|(([1-9]\d{0,3}|0)\.\d{2}\.\d{2})|(([1-9]\d{0,3}|0)\/\d{2}\/\d{2})$/;
break;
case DATETIME.SIMPLE:
pat = /^(\d{2}\-\d{1,2}\-\d{1,2})|(\d{2}\.\d{1,2}\.\d{1,2})|(\d{2}\/\d{1,2}\/\d{1,2})$/;
break;
case DATETIME.ENGLISH:
pat = /^\w* \d{1,2},(([1-9]\d{0,3}|0)| ([1-9]\d{0,3}|0))$/;
break;
case DATETIME.JAPANESE:
pat = /^(([1-9]\d{0,3}|0)年\d{2}月\d{2}日)$/;
break;
case DATETIME.CHINESE:
pat = /^(([1-9]\d{0,3}|0)年\d{2}月\d{2}日)$/;
break;
}
error("您輸入的日期格式不正確。");
return mat(this.val,pat);
},
time: function(type){
var pat;
switch(type){
case DATETIME.FULL:
pat = /^\d{2}:\d{2}:\d{2}$/;
break;
case DATETIME.SIMPLE:
pat = /^\d{1,2}:\d{1,2}:\d{1,2}$/;
break;
case DATETIME.ENGLISH:
pat = /^\d{1,2}:\d{1,2}:\d{1,2}$/;
break;
case DATETIME.JAPANESE:
pat = /^\d{1,2}時(shí)\d{1,2}分\d{1,2}秒$/;
break;
case DATETIME.CHINESE:
pat = /^\d{1,2}時(shí)\d{1,2}分\d{1,2}秒$/;
break;
}
error("您輸入的時(shí)間格式不正確。");
return mat(this.val,pat);
}
}
var mat = function(val,pat){
if (val.match(pat)) {
return true;
}
return false;
}
var error = function(err){
wshc.fn.error = err || "無格式錯(cuò)誤。";
}
})(jQuery);
使用方法:
前提是,您已經(jīng)導(dǎo)入了jQuery3.2的包了
JS:
<scrpit>
$(function(){
//檢查字?jǐn)?shù)是否超過限制
$(#"do_check").bind("click",function(){
alert($("#wooshoo_ipt").check().number());
alert($("#wooshoo_ipt").check().error);
});
});
</script>
HTML:
<body>
請輸入:<input id="wooshoo_ipt" type="text" /><br/>
<a id="do_check">執(zhí)行檢查</a>
</body>
您可能感興趣的文章:
- jQuery/JS監(jiān)聽input輸入框值變化實(shí)例
- jQuery實(shí)現(xiàn)input輸入框獲取焦點(diǎn)與失去焦點(diǎn)時(shí)提示的消失與顯示功能示例
- jQuery實(shí)現(xiàn)動(dòng)態(tài)添加、刪除按鈕及input輸入框的方法
- 基于Bootstrap使用jQuery實(shí)現(xiàn)輸入框組input-group的添加與刪除
- js與jquery實(shí)時(shí)監(jiān)聽輸入框值的oninput與onpropertychange方法
- jquery實(shí)現(xiàn)input輸入框?qū)崟r(shí)輸入觸發(fā)事件代碼
- input 輸入框獲得/失去焦點(diǎn)時(shí)隱藏/顯示文字(jquery版)
- 基于jQuery的input輸入框下拉提示層(自動(dòng)郵箱后綴名)
- input 和 textarea 輸入框最大文字限制的jquery插件
- jquery獲取input輸入框中的值
相關(guān)文章
jquery.form.js框架實(shí)現(xiàn)文件上傳功能案例解析(springmvc)
這篇文章主要為大家詳細(xì)介紹了jquery.form.js/springmvc文件上傳功能的實(shí)現(xiàn)步驟,使用的技術(shù)有jquery.form.js框架,以及springmvc框架,具有實(shí)用價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
jQuery實(shí)現(xiàn)鼠標(biāo)劃過添加和刪除class的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)劃過添加和刪除class的方法,涉及jQuery鼠標(biāo)事件及頁面樣式的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06
jQuery實(shí)現(xiàn)倒計(jì)時(shí)按鈕功能代碼分享
這篇文章主要介紹了jQuery實(shí)現(xiàn)倒計(jì)時(shí)按鈕功能代碼分享,一般用在短信發(fā)送倒計(jì)時(shí)按鈕情景,本文給出了幾個(gè)例子,需要的朋友可以參考下2014-09-09
jQuery+HTML5+CSS3制作支持響應(yīng)式布局時(shí)間軸插件
這篇文章主要為大家詳細(xì)介紹了JQuery+HTML5+CSS3制作時(shí)間軸,支持響應(yīng)式布局時(shí)間軸插件,感興趣的小伙伴們可以參考一下2016-08-08
jQuery實(shí)現(xiàn)鼠標(biāo)拖拽登錄框移動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)鼠標(biāo)拖拽登錄框移動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
jQuery 文本框得失焦點(diǎn)的簡單實(shí)例
本篇文章主要是對jQuery 文本框得失焦點(diǎn)的簡單實(shí)例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02
jQuery.Callbacks()回調(diào)函數(shù)隊(duì)列用法詳解
這篇文章主要介紹了jQuery.Callbacks()回調(diào)函數(shù)隊(duì)列用法,結(jié)合實(shí)例形式詳細(xì)分析了jQuery.Callbacks()回調(diào)函數(shù)隊(duì)列的功能、控制標(biāo)志含義與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-06-06

