/**
表单数据验证
**/
$.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();
}

页面 使用方法:

<input id="Code" type="text" class="form-control" placeholder="输入编号" isvalid="yes" checkexpession="NotNull" />
<input id="Email" type="text" class="form-control" placeholder="输入邮件" isvalid="yes" checkexpession="Email" />

判断方法:

if (!$('#form1').Validform()) {
return false;
}

表单验证Jquery扩展方法类的更多相关文章

  1. 表单验证——jquery validate使用说明【另一个教程】

    [参考:http://www.tuicool.com/articles/y6fyme] jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证 ...

  2. 自定义表单验证--jquery validator addMethod的使用

    原文地址:jquery validator addMethod 方法的使用作者:蜡笔小玄 jQuery.validate是一款非常不错的表单验证工具,简单易上手,而且能达到很好的体验效果,虽然说在项目 ...

  3. jQuery 表单验证 jquery.validator.js

    前端开发中经常会碰到表单的制作,其中必备的功能就是提交前的一些简单的验证,非空啊.手机号码啊.E-mail等等等等,这里是一个 jQuery 的表单验证插件,蛮好用的,收录一下. 下面是验证的效果图: ...

  4. JQuery 表单验证--jquery validation

    jquery validation,表单验证控件 官方地址 :http://jqueryvalidation.org/ jquery表单验证 默认值校验规则 jquery表单验证 默认的提示 < ...

  5. jquery.validate.js表单验证 jquery.validate.js的用法

    jquery.validate.js这个插件已经用了2年多了,是一个不可多得的表单验证最方便快捷的插件.基于jquery的小插件,基本小白一学就会上手,对于项目表单页面比较多,元素比较多的校验,该插件 ...

  6. 使用validate进行表单验证时土方法(appendTo)改变error显示的位置

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

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

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

  8. 表单验证——jquery validate使用说明

    //validate 选项*********************************************************** $("form").validat ...

  9. Validation-jQuery表单验证插件使用方法

    http://www.cnblogs.com/shuang121/archive/2012/04/23/2466628.html 作用 jquery.validate是jquery旗下的一个验证框架, ...

随机推荐

  1. 编程语言java-并发(锁)

    文章转载自http://www.importnew.com/22078.html 悲观锁和乐观锁 我们都知道,CPU是时分复用的,就是CPU把时间片,分配给不同的thread/process轮流执行, ...

  2. 基于OpenCv的人脸检测、识别系统学习制作笔记之一

    基于OpenCv从视频文件到摄像头的人脸检测 在OpenCv中读取视频文件和读取摄像头的的视频流然后在放在一个窗口中显示结果其实是类似的一个实现过程. 先创建一个指向CvCapture结构的指针 Cv ...

  3. Python成长笔记 - 基础篇 (二)python基本语法

    Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观.它不像其他的静态语言如C.Pascal那样需要重复书写声明语句,也不像 ...

  4. android studio中xml没有提示

    删除.idea文件夹和所有的.iml文件,重新build project.

  5. 20145301&20145321&20145335实验二

    20145301&20145321&20145335实验二 这次实验我的组员为:20145301赵嘉鑫.20145321曾子誉.20145335郝昊 实验内容详见:实验二

  6. linux-8 基本命令---echo

    1.echo   命令用于终端显示字符或变量 格式:“echo[字符串| 变量]” @1 .echo命令的字符串输出到终端: @2 .echo查看当前SHELL的变量值(前面有$符号): @3 .查看 ...

  7. CentOS下 pycharm开发环境搭建之无穷无尽的问题

    在上一篇的环境搭建中,表面上以为已经升级好python,安装好pycharm,并且可以用上了django框架,谁知道,谁知道,又是一断被虐的经历,我都要快恼羞成怒了. 在些记录一下我的经历. 1.首先 ...

  8. iOS开发之组件化架构漫谈

    前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还是 ...

  9. centos7 安装 notejs

    1.安装集成工具 yum -y install gcc make gcc-c++ 2.安装notejs 自行选择版本:https://nodejs.org/dist/ wget https://nod ...

  10. JAVA面试精选【Java基础第一部分】

    这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...