原文地址:http://www.cnblogs.com/linzheng/archive/2010/10/17/1853574.html
很不错,收藏下
/**
* power by wooshoo copyright 2008-2009
* 程序名:JQuery 专用输入检查器
* 内容:专门针对input[text password hidden]以及textarea的用户输入进行检查
* 检查的范围包括:字符数、是否包含特殊字符、是否为整数、是否符合email格式、是否为电话号码、
* 是否为网站地址、是否为图片地址、是否为浮点小数、是否为人民币货币、是否为日期格式
* 是否为时间格式、是否为日期时间格式、是否为密码格式(仅包含大小写字母、数字及底划线)、
* 暂不可用:是否为非英数特殊字符格式(即仅为中文、日文、韩文等大字符语言)、是否包含html标签、是否包含UBB标签、
*
*/
(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){//检查字数是否超过限制
if(this.val.length >= min && this.val.length <= max){
return true;
}
error("您输入的字符超过了"+min+"-"+max+"的限制。");
return false;
},
specialChar: function(pat){//检查是否包含特殊字符
//特殊字符包括:\ / @ # $ % ^ & * = < > \n \r
//如果需要自定义,可以在参数中设定
pat = pat || /[\\\/\@\#\$\%\^\&\*\=\<\>\n\r]+/;
error("您输入的字符包含了一些特殊字符。");
return mat(this.val,pat);
},
isNum: function(len){//检查是否为数字
if(!isNaN(this.val)){
return true;
}
error("您输入的不是数字。");
return false;
},
integer: function(){//检查是否为整数
if(this.val == parseInt(this.val)){
return true;
}
error("您输入的不是整数。");
return false;
},
float: function(){//检查是否为小数
if(this.isNum() && !this.integer()){
return true;
}
error("您输入的不是小数。");
return false;
},
rmb: function(){//检查是否为货币(RMB标准格式为:0.00 or 10.00 除个位数外首位不为零)
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){//检查是否为网站的地址(包含http)
pat = pat || /^(http|HTTP):\/\/[^s]*/;
error("您输入的不是通用网址格式。");
return mat(this.val,pat);
},
url: function(pat){//检查是否为通信地址
pat = pat || /^[a-zA-z]+:\/\/[^s]*/;
error("您输入的不是通用通信协议格式。");
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("您输入的不是网页允许的图片格式。");
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("您输入的不是中国地区的固定电话格式。");
return mat(this.val,pat);
},
mobile: function(pat){
pat = pat || /^1\d{10}$/;
error("您输入的不是中国地区的移动电话格式。");
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}時\d{1,2}分\d{1,2}秒$/;
break;
case DATETIME.CHINESE:
pat = /^\d{1,2}时\d{1,2}分\d{1,2}秒$/;
break;
}
error("您输入的时间格式不正确。");
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 || "无格式错误。";
}
})(jQuery);
使用方法:
前提是,您已经导入了jQuery3.2的包了
JS:
<scrpit>
$(function(){
//检查字数是否超过限制
$(#"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">执行检查</a>
</body>
分享到:
相关推荐
`$("input:not(:last)")`选取除了最后一个`input`(即提交按钮)的所有`input`元素,并将其颜色设置为灰色,以区别于普通文本。 当用户名输入框(`input:first`)获得焦点时,我们检查其当前值是否与默认值相同。...
具体而言,对于文本输入框(如`<input type="text">`)、单选按钮、复选框以及下拉列表等表单控件,如果这些元素为空或者未被选中,那么验证将失败。 **应用场景**:假设有一个表单字段`<input type="text" name=...
function checkInput(input) { var targetText = '预设的文本'; if (input === targetText) { score++; $('#score').text('Score: ' + score); // 更新游戏状态,如清除输入框、加载新文本等 } else { $('#...
<input type="password" id="password" /> // jQuery代码 $(document).ready(function() { var passwordInput = $('#password'); // 检查6位密码 function check6CharPassword(password) { var regex = /^[a-z...
例如,检查输入框非空: ```javascript $("#myForm").submit(function(event) { if ($("#username").val() === "") { event.preventDefault(); // 阻止表单提交 alert("用户名不能为空!"); } }); ``` ### 2. ...
- **Watermark Input**: 为输入框添加占位符文本。 - **jQuery Checkbox (checkboxes with images)**: 使用图片替代复选框。 - **jQuery Spin Button Control**: 实现数值增减控制。 - **jQuery Ajax Form ...
8. Ajax Username Check with jQuery:实时检查用户名可用性。 **表单选取框插件**: 1. jQuery Combobox:组合框插件,提供下拉列表和文本输入功能。 2. jQuery controlled dependent (or Cascading) Select List...
2. **表单提示**:使用CSS和jQuery动态改变输入框的样式,以视觉方式提示用户输入的合法性。 3. **错误提示**:提供明确的错误信息,帮助用户理解并改正错误。 **七、安全注意事项** 1. **密码加密**:在服务器端...
在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互。本主题聚焦于jQuery中的Ajax功能,特别是如何利用它进行异步用户名验证。Ajax,即Asynchronous JavaScript and ...
同时,为了处理多选题和单选题,我们需要提供能够输入多个选项的输入框,这可以通过在表单中动态生成`<input type="checkbox">`或`<input type="radio">`实现。 "表单拖动问卷"这一标签提示我们需要实现问卷问题的...
- **Styling an input type file**:帮助开发者自定义文件上传输入框的外观。 - **Progress Bar Plugin**:在文件上传过程中显示进度条,提高用户感知。 ### 表单验证 - **jQuery Validation**:官方的验证插件,...
- `$("#text_id").val().split(",")` 可以将文本输入框的值按逗号分割,返回一个数组。 - `$("#text_id").focus(function() {...})` 和 `$("#text_id").blur(function() {...})` 分别用于在文本框获取焦点和失去...
- **表单元素**: 使用了`<input>`标签来创建复选框和文本输入框。复选框的`type`属性设置为`checkbox`,而文本输入框则设置了`type="text"`。 - **自定义属性**: 通过`data-type`和`data-value`属性为复选框添加...
例如,`$("#formId").submit()` 可以监听表单的提交事件,而`$("#inputId").val()`则能获取输入框的值。 jQuery Validate插件是jQuery的一个强大扩展,专门用于表单验证。它提供了丰富的验证规则和自定义消息功能,...
在本文中,我们将深入探讨如何使用jQuery的AJAX功能实现一个简单的登录系统,该系统能够实时检查用户名是否存在,而无需用户点击提交按钮或刷新整个页面。这种方法极大地提升了用户体验,因为用户可以即时得到反馈,...