/**
表单数据验证
**/
$.fn.Validform = function () {
var Validatemsg = "";
var Validateflag = true;
$(this).find("[isvalid=yes]").each(function () {
var checkexpession = $(this).attr("checkexpession");
var errormsg = $(this).attr("errormsg");
if (checkexpession != undefined) {
if (errormsg == undefined) {
errormsg = "";
}
var value = $(this).val();
if ($(this).hasClass('ui-select')) {
value = $(this).attr('data-value');
}
switch (checkexpession) {
case "NotNull":
{
if (isNotNull(value)) {
Validatemsg = errormsg + "不能为空!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Num":
{
if (!isInteger(value)) {
Validatemsg = errormsg + "必须为数字!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "NumOrNull":
{
if (!isIntegerOrNull(value)) {
Validatemsg = errormsg + "必须为数字!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Email":
{
if (!isEmail(value)) {
Validatemsg = errormsg + "必须为E-mail格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "EmailOrNull":
{
if (!isEmailOrNull(value)) {
Validatemsg = errormsg + "必须为E-mail格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "EnglishStr":
{
if (!isEnglishStr(value)) {
Validatemsg = errormsg + "必须为字符串!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "EnglishStrOrNull":
{
if (!isEnglishStrOrNull(value)) {
Validatemsg = errormsg + "必须为字符串!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "LenNum":
{
if (!isLenNum(value, $(this).attr("length"))) {
Validatemsg = errormsg + "必须为" + $(this).attr("length") + "位数字!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "LenNumOrNull":
{
if (!isLenNumOrNull(value, $(this).attr("length"))) {
Validatemsg = errormsg + "必须为" + $(this).attr("length") + "位数字!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "LenStr":
{
if (!isLenStr(value, $(this).attr("length"))) {
Validatemsg = errormsg + "必须小于" + $(this).attr("length") + "位字符!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "LenStrOrNull":
{
if (!isLenStrOrNull(value, $(this).attr("length"))) {
Validatemsg = errormsg + "必须小于" + $(this).attr("length") + "位字符!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Phone":
{
if (!isTelephone(value)) {
Validatemsg = errormsg + "必须电话格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "PhoneOrNull":
{
if (!isTelephoneOrNull(value)) {
Validatemsg = errormsg + "必须电话格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Fax":
{
if (!isTelephoneOrNull(value)) {
Validatemsg = errormsg + "必须为传真格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Mobile":
{
if (!isMobile(value)) {
Validatemsg = errormsg + "必须为手机格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "MobileOrNull":
{
if (!isMobileOrnull(value)) {
Validatemsg = errormsg + "必须为手机格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "MobileOrPhone":
{
if (!isMobileOrPhone(value)) {
Validatemsg = errormsg + "必须为电话格式或手机格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "MobileOrPhoneOrNull":
{
if (!isMobileOrPhoneOrNull(value)) {
Validatemsg = errormsg + "必须为电话格式或手机格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Uri":
{
if (!isUri(value)) {
Validatemsg = errormsg + "必须为网址格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "UriOrNull":
{
if (!isUriOrnull(value)) {
Validatemsg = errormsg + "必须为网址格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Equal":
{
if (!isEqual(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "不相等!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Date":
{
if (!isDate(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为日期格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "DateOrNull":
{
if (!isDateOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为日期格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "DateTime":
{
if (!isDateTime(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为日期时间格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "DateTimeOrNull":
{
if (!isDateTimeOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为日期时间格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Time":
{
if (!isTime(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为时间格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "TimeOrNull":
{
if (!isTimeOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为时间格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "ChineseStr":
{
if (!isChinese(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为中文!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "ChineseStrOrNull":
{
if (!isChineseOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为中文!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Zip":
{
if (!isZip(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为邮编格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "ZipOrNull":
{
if (!isZipOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为邮编格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "Double":
{
if (!isDouble(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为小数!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "DoubleOrNull":
{
if (!isDoubleOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为小数!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "IDCard":
{
if (!isIDCard(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为身份证格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "IDCardOrNull":
{
if (!isIDCardOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为身份证格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "IsIP":
{
if (!isIP(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为IP格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
case "IPOrNull":
{
if (!isIPOrNullOrNull(value, $(this).attr("eqvalue"))) {
Validatemsg = errormsg + "必须为IP格式!\n";
Validateflag = false;
ValidationMessage($(this), Validatemsg); return false;
}
break;
}
default:
break;
}
}
});
if ($(this).find("[fieldexist=yes]").length > 0) {
return false;
}
return Validateflag;
//验证不为空 notnull
function isNotNull(obj) {
obj = $.trim(obj);
if (obj.length == 0 || obj == null || obj == undefined) {
return true;
}
else
return false;
}
//验证数字 num
function isInteger(obj) {
reg = /^[-+]?\d+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证数字 num 或者null,空
function isIntegerOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^[-+]?\d+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//Email验证 email
function isEmail(obj) {
reg = /^\w{3,}@\w+(\.\w+)+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//Email验证 email 或者null,空
function isEmailOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^\w{3,}@\w+(\.\w+)+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证只能输入英文字符串 echar
function isEnglishStr(obj) {
reg = /^[a-z,A-Z]+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证只能输入英文字符串 echar 或者null,空
function isEnglishStrOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^[a-z,A-Z]+$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否是n位数字字符串编号 nnum
function isLenNum(obj, n) {
reg = /^[0-9]+$/;
obj = $.trim(obj);
if (obj.length > n)
return false;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否是n位数字字符串编号 nnum或者null,空
function isLenNumOrNull(obj, n) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^[0-9]+$/;
obj = $.trim(obj);
if (obj.length > n)
return false;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否小于等于n位数的字符串 nchar
function isLenStr(obj, n) {
//reg = /^[A-Za-z0-9\u0391-\uFFE5]+$/;
obj = $.trim(obj);
if (obj.length == 0 || obj.length > n)
return false;
else
return true;
}
//验证是否小于等于n位数的字符串 nchar或者null,空
function isLenStrOrNull(obj, n) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
obj = $.trim(obj);
if (obj.length > n)
return false;
else
return true;
}
//验证是否电话号码 phone
function isTelephone(obj) {
reg = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否电话号码 phone或者null,空
function isTelephoneOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否手机号 mobile
function isMobile(obj) {
reg = /^(\+\d{2,3}\-)?\d{11}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否手机号 mobile或者null,空
function isMobileOrnull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^(\+\d{2,3}\-)?\d{11}$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否手机号或电话号码 mobile phone
function isMobileOrPhone(obj) {
reg_mobile = /^(\+\d{2,3}\-)?\d{11}$/;
reg_phone = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
if (!reg_mobile.test(obj) && !reg_phone.test(obj)) {
return false;
} else {
return true;
}
}
//验证是否手机号或电话号码 mobile phone或者null,空
function isMobileOrPhoneOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^(\+\d{2,3}\-)?\d{11}$/;
reg2 = /^(\d{3,4}\-)?[1-9]\d{6,7}$/;
if (!reg.test(obj) && !reg2.test(obj)) {
return false;
} else {
return true;
}
}
//验证网址 uri
function isUri(obj) {
reg = /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证网址 uri或者null,空
function isUriOrnull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
reg = /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
if (!reg.test(obj)) {
return false;
} else {
return true;
}
}
//验证两个值是否相等 equals
function isEqual(obj1, controlObj) {
if (obj1.length != 0 && controlObj.length != 0) {
if (obj1 == controlObj)
return true;
else
return false;
}
else
return false;
}
//判断日期类型是否为YYYY-MM-DD格式的类型 date
function isDate(obj) {
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为YYYY-MM-DD格式的类型 date或者null,空
function isDateOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime
function isDateTime(obj) {
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime或者null,空
function isDateTimeOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为hh:mm:ss格式的类型 time
function isTime(obj) {
if (obj.length != 0) {
reg = /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断日期类型是否为hh:mm:ss格式的类型 time或者null,空
function isTimeOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断输入的字符是否为中文 cchar
function isChinese(obj) {
if (obj.length != 0) {
reg = /^[\u0391-\uFFE5]+$/;
if (!reg.test(str)) {
return false;
}
else {
return true;
}
}
}
//判断输入的字符是否为中文 cchar或者null,空
function isChineseOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^[\u0391-\uFFE5]+$/;
if (!reg.test(str)) {
return false;
}
else {
return true;
}
}
}
//判断输入的邮编(只能为六位)是否正确 zip
function isZip(obj) {
if (obj.length != 0) {
reg = /^\d{6}$/;
if (!reg.test(str)) {
return false;
}
else {
return true;
}
}
}
//判断输入的邮编(只能为六位)是否正确 zip或者null,空
function isZipOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^\d{6}$/;
if (!reg.test(str)) {
return false;
}
else {
return true;
}
}
}
//判断输入的字符是否为双精度 double
function isDouble(obj) {
if (obj.length != 0) {
reg = /^[-\+]?\d+(\.\d+)?$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断输入的字符是否为双精度 double或者null,空
function isDoubleOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^[-\+]?\d+(\.\d+)?$/;
if (!reg.test(obj)) {
return false;
}
else {
return true;
}
}
}
//判断是否为身份证 idcard
function isIDCard(obj) {
if (obj.length != 0) {
reg = /^\d{15}(\d{2}[A-Za-z0-9;])?$/;
if (!reg.test(obj))
return false;
else
return true;
}
}
//判断是否为身份证 idcard或者null,空
function isIDCardOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
if (obj.length != 0) {
reg = /^\d{15}(\d{2}[A-Za-z0-9;])?$/;
if (!reg.test(obj))
return false;
else
return true;
}
}
//判断是否为IP地址格式
function isIP(obj) {
var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
if (re.test(obj)) {
if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
}
return false;
}
//判断是否为IP地址格式 或者null,空
function isIPOrNull(obj) {
var controlObj = $.trim(obj);
if (controlObj.length == 0 || controlObj == null || controlObj == undefined) {
return true;
}
var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
if (re.test(obj)) {
if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
}
return false;
}
}
//提示信息
function ValidationMessage(obj, Validatemsg) {
try {
removeMessage(obj);
obj.focus();
var $poptip_error = $('<div class="poptip"><span class="poptip-arrow poptip-arrow-top"><em>◆</em></span>' + Validatemsg + '</div>').css("left", obj.offset().left + 'px').css("top", obj.offset().top + obj.parent().height() + 5 + 'px')
$('body').append($poptip_error);
if (obj.hasClass('form-control') || obj.hasClass('ui-select')) {
obj.parent().addClass('has-error');
}
if (obj.hasClass('ui-select')) {
$('.input-error').remove();
}
obj.change(function () {
if (obj.val()) {
removeMessage(obj);
}
});
if (obj.hasClass('ui-select')) {
$(document).click(function (e) {
if (obj.attr('data-value')) {
removeMessage(obj);
}
e.stopPropagation();
});
}
return false;
} catch (e) {
alert(e)
}
}
//移除提示
function removeMessage(obj) {
obj.parent().removeClass('has-error');
$('.poptip').remove();
$('.input-error').remove();
}

  

jquery表单数据验证扩展方法的更多相关文章

  1. 表单数据验证方法(二)——ASP.NET后台验证

    昨天写了一下关于如何在前台快捷实现表单数据验证的方法,今天接着昨天的,把后台实现数据验证的方法记录一下.先说明一下哈,我用的是asp.net,所以后台验证方法也是基于.net mvc来做的. 好了,闲 ...

  2. struts1:(Struts)ActionForm类及表单数据验证

    在Struts的中央控制器中写了Struts的控制器角色,在这篇介绍下Struts的视图!Struts的视图组件:Struts框架中的视图组件主要包括:JSP页面.ActionForm类.Struts ...

  3. php表单数据验证类

    非常好用方便的表单数据验证类 <?php //验证类 class Fun{ function isEmpty($val) { if (!is_string($val)) return false ...

  4. SpringMVC4+thymeleaf3的一个简单实例(篇四:form表单数据验证)

    关于表单数据验证有很多中方法,这里我仅介绍JSR303注解验证.JSR303仅仅是一个规范,这里我们要用到它的一个实现:hibernate-validator. 注意在spring的配置文件sprin ...

  5. Spring学习笔记2——表单数据验证、文件上传

    在上一章节Spring学习笔记1——IOC: 尽量使用注解以及java代码中,已经搭建了项目的整体框架,介绍了IOC以及mybatis.第二节主要介绍SpringMVC中的表单数据验证以及文件上传. ...

  6. session_start()导致history.go(-1)返回时无法保存表单数据的解决方法

    问题背景: 在填写完表单提交时,由于某个表单项可能填写的不合法,导致提交失败,返回表单页面.但返回后所有的表单都被清空了,重新填写比较麻烦,度娘解释说,是由于每个页面都调用了session_start ...

  7. aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)

    这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲     上面是效果,下面来说使用步骤 jQuery.Valid ...

  8. 表单数据验证方法(一)—— 使用validate.js实现表单数据验证

    摘要:使用validate.js在前端实现表单数据提交前的验证 好久没写博客了,真的是罪过,以后不能这样了,只学习不思考,学的都是白搭,希望在博客园能记录下自己学习的点滴,虽然记录的都是些浅显的技术, ...

  9. Angular 开发小妙招1:提交表单数据验证不通过,更改输入组件的样式

    开发表单时,客户端数据完整性校验是必不可少的,在jquery 时代出现了无数的数据验证插件也很好用,开发Angular 应用时,angular 内置了一些常用的数据验证指令.今天要讲的不是这些指令如何 ...

随机推荐

  1. SQL TINYINT 1 讨论记录

    SQL TINYINT 1 讨论记录 群里有一位小伙伴又和他上司怒上了,关于 TINYINT 1 的问题. 这里记录一下,TINYINT 无符号可以是 0~255,而这里的 长度 1只是长度,并不是存 ...

  2. Python学习系列(二)(基础知识)

    Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...

  3. 开启mac terminal 命令/路径自动补全功能

    用惯了windows命令行工具的按Tab自动补全路径功能后,在mac terminal上敲命令很不习惯.其实mac terminal也有这个功能. 在命令行输入nano .inputrc 进入.inp ...

  4. python使用wxPython创建一个简单的文本编辑器。

    ubuntu下通过'sudo apt-get install python-wxtools'下载wxPython.load和save函数用于加载和保存文件内容,button通过Bind函数绑定这两个函 ...

  5. shell 脚本基础知识详细介绍(二)

    SimonSu 博客 评论墙 读者墙 链接 关于 linux中的sh脚本语法 玩linux都知道sh脚本的方便,但如何编写sh脚本却是像我这样的新手和菜鸟的难题.能不能编写得出来是一回事,了不了解又是 ...

  6. Linux安装JRE tomcat配置java环境

    安装JRE 到http://www.oracle.com/technetwork/java/javase/downloads/index.html下载JRE软件. 1.wget http://down ...

  7. spring-session之二:简单配置

    官方示例:https://docs.spring.io/spring-session/docs/current/reference/html5/#samples 配置Spring Session 在W ...

  8. DevOps介绍

    DevOps 也同样要通过技术工具链完成持续集成.持续交付.用户反馈和系统优化的整合.Elasticbox 整理了 60+ 开源工具与分类,其中包括版本控制&协作开发工具.自动化构建和测试工具 ...

  9. Angular2快速入门-2.创建一个新闻列表

    背景: 我们想通过一个例子,展示下Angular2 怎么绑定页面,怎么创建Component, 例子:我们创建一个新闻列表,当点击新闻列表中某一条新闻的时候,展示出该条新闻的详细信息, 在详细信息中可 ...

  10. mybatis配置ehcache缓存

    1:在spring配置文件中加载缓存配置文件 <!-- 使用ehcache缓存 --> <bean id="ehCacheManager" class=" ...