jQuery控制文本框只能輸入數(shù)字和字母及使用方法
在公司開發(fā)WinForm項(xiàng)目時(shí),發(fā)現(xiàn)公司自主研發(fā)的textbox控件非常強(qiáng)大,可以實(shí)現(xiàn)"只能輸入數(shù)字"、"只能輸入字母"和"只能輸入數(shù)字和字母"的三種輸入限制,這樣就可以精確控制用戶輸入的內(nèi)容范圍,讓"用戶永遠(yuǎn)沒有辦法輸入限定的內(nèi)容范圍之外的其他內(nèi)容",也就是"用戶即使想犯錯(cuò)誤也沒有機(jī)會(huì)",這種限制控件輸入的方式給了我很大的啟發(fā),如果在web項(xiàng)目中也能做到這樣的精確控制,那么就可以避免因?yàn)橐恍┓欠ㄝ斎攵斐上到y(tǒng)出錯(cuò),既然WinForm里面可以實(shí)現(xiàn)這樣的控件,那么web項(xiàng)目里面也應(yīng)該有辦法去實(shí)現(xiàn)類似這樣的控件或者能夠做到類似的效果,經(jīng)過自己的一番研究和查找資料,終于做到了類似的效果,針對(duì)"只能輸入數(shù)字"、"只能輸入字母"和"只能輸入數(shù)字和字母"的三種輸入限制,我封裝成onlyNum(),onlyAlpha()和onlyNumAlpha()3個(gè)Jquery擴(kuò)展方法,方便復(fù)用,由于里面一些JS代碼涉及到了"禁用輸入法,獲取剪切板的內(nèi)容",而"禁用輸入法,獲取剪切板的內(nèi)容"只能在IE瀏覽器下才有效,對(duì)于別的瀏覽器是無效的,因此這三個(gè)方法只適合在IE瀏覽器下使用才有效,三個(gè)方法的代碼如下
一、限制只能輸入數(shù)字
// ----------------------------------------------------------------------
// <summary>
// 限制只能輸入數(shù)字
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyNum = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= && keyCode <= ))
return true;
else
return false;
}).focus(function () {
//禁用輸入法
this.style.imeMode = 'disabled';
}).bind("paste", function () {
//獲取剪切板的內(nèi)容
var clipboard = window.clipboardData.getData("Text");
if (/^\d+$/.test(clipboard))
return true;
else
return false;
});
};
二、限制只能輸入字母
// ----------------------------------------------------------------------
// <summary>
// 限制只能輸入字母
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyAlpha = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))
return true;
else
return false;
}).focus(function () {
this.style.imeMode = 'disabled';
}).bind("paste", function () {
var clipboard = window.clipboardData.getData("Text");
if (/^[a-zA-Z]+$/.test(clipboard))
return true;
else
return false;
});
};
三、 限制只能輸入數(shù)字和字母
// ----------------------------------------------------------------------
// <summary>
// 限制只能輸入數(shù)字和字母
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyNumAlpha = function () {
$(this).keypress(function (event) {
var eventObj = event || e;
var keyCode = eventObj.keyCode || eventObj.which;
if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))
return true;
else
return false;
}).focus(function () {
this.style.imeMode = 'disabled';
}).bind("paste", function () {
var clipboard = window.clipboardData.getData("Text");
if (/^(\d|[a-zA-Z])+$/.test(clipboard))
return true;
else
return false;
});
};
使用方法:首先在畫面加載完成之后編寫如下的JS腳本
$(function () {
// 限制使用了onlyNum類樣式的控件只能輸入數(shù)字
$(".onlyNum").onlyNum();
//限制使用了onlyAlpha類樣式的控件只能輸入字母
$(".onlyAlpha").onlyAlpha();
// 限制使用了onlyNumAlpha類樣式的控件只能輸入數(shù)字和字母
$(".onlyNumAlpha").onlyNumAlpha();
});
對(duì)需要做輸入控制的控件設(shè)置class樣式
<ul>
<li>只能輸入數(shù)字:<input type="text" class="onlyNum" /></li>
<li>只能輸入字母:<input type="text" class="onlyAlpha" /></li>
<li>只能輸入數(shù)字和字母:<input type="text" class="onlyNumAlpha" /></li>
</ul>
這樣畫面上凡是設(shè)置了class="onlyNum"的控件就只能輸入數(shù)字,設(shè)置了class="onlyAlpha"的控件只能輸入字母,設(shè)置了class="onlyNumAlpha"的控件只能輸入數(shù)字和字母,通過這種方式就可以限制了用戶的輸入范圍,避免用戶進(jìn)行一些非法的輸入。
以上所述是小編給大家介紹的jQuery控制文本框只能輸入數(shù)字和字母及使用方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
精選的10款用于構(gòu)建良好易用性網(wǎng)站的jQuery插件
這篇隨筆收集了10款非常給力的jquery 插件,幫助你構(gòu)建易用性良好的網(wǎng)站,希望對(duì)你有用!2011-01-01
基于jQuery的彈出警告對(duì)話框美化插件(警告,確認(rèn)和提示)
jQuery Alert Dialogs (Alert, Confirm, & Prompt Replacements)(翻譯)2010-06-06
jQuery使用hide方法隱藏指定元素class樣式用法實(shí)例
這篇文章主要介紹了jQuery使用hide方法隱藏指定元素class樣式,實(shí)例分析了jQuery中hide隱藏class樣式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
jquery.pager.js分頁(yè)實(shí)現(xiàn)詳解
這篇文章主要為大家詳細(xì)介紹了jquery.pager.js分頁(yè)的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
jquery上傳插件fineuploader上傳文件使用方法(jquery圖片上傳插件)
這篇文章主要介紹了jquery插件fineuploader上傳文件很用方法2013-12-12

