UNPKG

lixin-web

Version:

vue and bootstrap

754 lines (742 loc) 23.4 kB
var Lottery11x5 = function(){ /** * 彩票投注辅助 */ var LotteryUtils = function() { /** * 输入框类型检测 */ var _inputCheck_Num = function(datasel, l, fun) { fun = $.isFunction(fun) ? fun : function(n, l) { return true; } var newsel = []; // 新的号码 datasel = ArrayUtil.unique(datasel); // 去除重复 var regex = new RegExp('^([0-9]{2}\\s{1}){' + (l - 1) + '}[0-9]{2}$'); $.each(datasel, function(i, n) { if(regex.test(n) && fun(n, l)) { newsel.push(n); } }); return newsel; } /** * 输入框号码检测 */ var _numberCheck_Num = function(n) { var t = n.split(' '); var l = t.length; for (var i = 0; i < l; i++) { if (Number(t[i]) > 11 || Number(t[i]) < 1) { return false; } for (var j = i + 1; j < l; j++) { if (Number(t[i]) == Number(t[j])) { return false; } } } return true; } /** * 多少注计算 */ var _inputNumbers = function(type, datasel) { var nums = 0; switch (type) { // 这里验证输入框类型 case 'sanmzhixdsq': case 'sanmzuxdsq': return _inputCheck_Num(datasel, 3, _numberCheck_Num).length; case 'ermzhixdsq': case 'ermzuxdsq': return _inputCheck_Num(datasel, 2, _numberCheck_Num).length; case 'rx1ds': return _inputCheck_Num(datasel, 1, _numberCheck_Num).length; case 'rx2ds': return _inputCheck_Num(datasel, 2, _numberCheck_Num).length; case 'rx3ds': return _inputCheck_Num(datasel, 3, _numberCheck_Num).length; case 'rx4ds': return _inputCheck_Num(datasel, 4, _numberCheck_Num).length; case 'rx5ds': return _inputCheck_Num(datasel, 5, _numberCheck_Num).length; case 'rx6ds': return _inputCheck_Num(datasel, 6, _numberCheck_Num).length; case 'rx7ds': return _inputCheck_Num(datasel, 7, _numberCheck_Num).length; case 'rx8ds': return _inputCheck_Num(datasel, 8, _numberCheck_Num).length; // 这里验证选号类型 case 'sanmzhixfsq': if (datasel[0].length > 0 && datasel[1].length > 0 && datasel[2].length > 0) { for (var i = 0; i < datasel[0].length; i++) { for (var j = 0; j < datasel[1].length; j++) { for (var k = 0; k < datasel[2].length; k++) { if (datasel[0][i] != datasel[1][j] && datasel[0][i] != datasel[2][k] && datasel[1][j] != datasel[2][k]) { nums++; } } } } } break; case 'sanmzuxfsq': var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 2) { nums += s * (s - 1) * (s - 2) / 6; } } break; case 'ermzhixfsq': if (datasel[0].length > 0 && datasel[1].length > 0) { for (var i = 0; i < datasel[0].length; i++) { for (var j = 0; j < datasel[1].length; j++) { if (datasel[0][i] != datasel[1][j]) { nums++; } } } } break; case 'ermzuxfsq': var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 1) { nums += s * (s - 1) / 2; } } break; case 'bdw': case 'dwd': case 'dds': case 'czw': case 'rx1fs': // 任选1中1 var maxplace = 0; if('bdw' == type || 'dds' == type || 'czw' == type || 'rx1fs' ==type) { maxplace = 1; } if('dwd' == type) { maxplace = 3; } for (var i = 0; i < maxplace; i++) { nums += datasel[i].length; } break; case 'rx2fs': // 任选2中2 var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 1) { nums += s * (s - 1) / 2; } } break; case 'rx3fs': // 任选3中3 var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 2) { nums += s * (s - 1) * (s - 2) / 6; } } break; case 'rx4fs': // 任选4中4 var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 3) { nums += s * (s - 1) * (s - 2) * (s - 3) / 24; } } break; case 'rx5fs': // 任选5中5 var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 4) { nums += s * (s - 1) * (s - 2) * (s - 3) * (s - 4) / 120; } } break; case 'rx6fs': // 任选6中6 var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 5) { nums += s * (s - 1) * (s - 2) * (s - 3) * (s - 4) * (s - 5) / 720; } } break; case 'rx7fs': // 任选7中7 var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 6) { nums += s * (s - 1) * (s - 2) * (s - 3) * (s - 4) * (s - 5) * (s - 6) / 5040; } } break; case 'rx8fs': // 任选8中8 var maxplace = 1; for (var i = 0; i < maxplace; i++) { var s = datasel[i].length; if (s > 7) { nums += s * (s - 1) * (s - 2) * (s - 3) * (s - 4) * (s - 5) * (s - 6) * (s - 7) / 40320; } } break; default: break; } return nums; } var _formatSelect_Num = function(datasel, m, n) { var newsel = new Array(); if(!m) m = 0; if(!n) n = 0; for (var i = 0; i < m; i++) { newsel.push('-'); } for (var i = 0; i < datasel.length; i++) { var f = datasel[i].toString().replace(/\,/g, ' '); if(f == '') { newsel.push('-'); } else { newsel.push(f); } } for (var i = 0; i < n; i++) { newsel.push('-'); } return newsel.toString(); } var _formatTextarea_Num = function(type, datasel) { switch (type) { case 'sanmzhixdsq': case 'sanmzuxdsq': datasel = _inputCheck_Num(datasel, 3, _numberCheck_Num); break; case 'ermzhixdsq': case 'ermzuxdsq': datasel = _inputCheck_Num(datasel, 2, _numberCheck_Num); break; case 'rx1ds': datasel = _inputCheck_Num(datasel, 1, _numberCheck_Num); break; case 'rx2ds': datasel = _inputCheck_Num(datasel, 2, _numberCheck_Num); break; case 'rx3ds': datasel = _inputCheck_Num(datasel, 3, _numberCheck_Num); break; case 'rx4ds': datasel = _inputCheck_Num(datasel, 4, _numberCheck_Num); break; case 'rx5ds': datasel = _inputCheck_Num(datasel, 5, _numberCheck_Num); break; case 'rx6ds': datasel = _inputCheck_Num(datasel, 6, _numberCheck_Num); break; case 'rx7ds': datasel = _inputCheck_Num(datasel, 7, _numberCheck_Num); break; case 'rx8ds': datasel = _inputCheck_Num(datasel, 8, _numberCheck_Num); break; default: break; } return datasel.toString().replace(/\,/g, ';'); } var _inputFormat = function(type, datasel) { switch (type) { case 'sanmzhixfsq': case 'dwd': return _formatSelect_Num(datasel, 0, 2); case 'ermzhixfsq': return _formatSelect_Num(datasel, 0, 3); case 'sanmzuxfsq': case 'ermzuxfsq': case 'bdw': case 'rx1fs': case 'rx2fs': case 'rx3fs': case 'rx4fs': case 'rx5fs': case 'rx6fs': case 'rx7fs': case 'rx8fs': return datasel[0].toString(); case 'sanmzhixdsq': case 'sanmzuxdsq': case 'ermzhixdsq': case 'ermzuxdsq': case 'rx1ds': case 'rx2ds': case 'rx3ds': case 'rx4ds': case 'rx5ds': case 'rx6ds': case 'rx7ds': case 'rx8ds': return _formatTextarea_Num(type, datasel); case 'dds': return datasel[0].toString().replace(/\,/g , '|'); case 'czw': return datasel[0].toString(); default: break; } } var _typeFormat = function(code) { code.sort(); var arr = []; var j = 0, o = 0, z = 0; $.each(code, function(idx, val) { var num = parseInt(val); if(num%2 == 0) { o++; } else { j++; } if(idx == 2) { z = num; } }); arr[0] = j + '单' + o + '双'; arr[1] = z; return arr; } return { inputNumbers: _inputNumbers, inputFormat: _inputFormat, typeFormat: _typeFormat } }(); /** * TODO 彩票投注主要方法 */ var LotteryMain = function() { LotteryBaBa.call(this); this.LotteryUtils = LotteryUtils; // 布局 this.Layout = [{ title: '三码', rows: [[{ title: '前三直选', columns: [{ showname: '复式', shortname: 'sanmzhixfsq', realname: '[前三直选_复式]', tips: '从第一位、第二位、第三位中至少各选择1个号码。', example: '', help: '从01-11共11个号码中选择3个不重复的号码组成一注,所选号码与当期顺序摇出的5个号码中的前3个号码相同,且顺序一致,即为中奖。', select: { layout: [{ title: '第一位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }, { title: '第二位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }, { title: '第三位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '单式', shortname: 'sanmzhixdsq', realname: '[前三直选_单式]', tips: '手动输入号码,至少输入1个三位数号码组成一注。', example: '', help: '手动输入3个号码组成一注,所输入的号码与当期顺序摇出的5个号码中的前3个号码相同,且顺序一致,即为中奖。', textarea: {} }] }], [{ title: '前三组选', columns: [{ showname: '复式', shortname: 'sanmzuxfsq', realname: '[前三组选_复式]', tips: '从0-9中任意选择3个或3个以上号码。', example: '', help: '从01-11中共11个号码中选择3个号码,所选号码与当期顺序摇出的5个号码中的前3个号码相同,顺序不限,即为中奖。', select: { layout: [{ title: '选号', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '单式', shortname: 'sanmzuxdsq', realname: '[前三组选_单式]', tips: '手动输入号码,至少输入1个三位数号码组成一注。', example: '', help: '手动输入3个号码组成一注,所输入的号码与当期顺序摇出的5个号码中的前3个号码相同,顺序不限,即为中奖。', textarea: {} }] }]] }, { title: '二码', rows: [[{ title: '前二直选', columns: [{ showname: '复式', shortname: 'ermzhixfsq', realname: '[前二直选_复式]', tips: '从第一位、第二位中至少各选择1个号码。', example: '', help: '从01-11共11个号码中选择2个不重复的号码组成一注,所选号码与当期顺序摇出的5个号码中的前2个号码相同,且顺序一致,即为中奖。', select: { layout: [{ title: '第一位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }, { title: '第二位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '单式', shortname: 'ermzhixdsq', realname: '[前二直选_单式]', tips: '手动输入号码,至少输入1个两位数号码组成一注。', example: '', help: '手动输入2个号码组成一注,所输入的号码与当期顺序摇出的5个号码中的前2个号码相同,且顺序一致,即为中奖。', textarea: {} }] }], [{ title: '前二组选', columns: [{ showname: '复式', shortname: 'ermzuxfsq', realname: '[前二组选_复式]', tips: '从0-9中任意选择2个或2个以上号码。', example: '', help: '从01-11中共11个号码中选择2个号码,所选号码与当期顺序摇出的5个号码中的前2个号码相同,顺序不限,即为中奖。', select: { layout: [{ title: '选号', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '单式', shortname: 'ermzuxdsq', realname: '[前二组选_单式]', tips: '手动输入号码,至少输入1个两位数号码组成一注。', example: '', help: '手动输入2个号码组成一注,所输入的号码与当期顺序摇出的5个号码中的前2个号码相同,顺序不限,即为中奖。', textarea: {} }] }]] }, { title: '不定胆', rows: [[{ title: '不定胆', columns: [{ showname: '前三位', shortname: 'bdw', realname: '[不定胆_前三位]', tips: '从01-11中任意选择1个或1个以上号码。', example: '', help: '从01-11中共11个号码中选择1个号码,每注由1个号码组成,只要当期顺序摇出的第一位、第二位、第三位开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '选号', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }] }]] }, { title: '定位胆', rows: [[{ title: '定位胆', columns: [{ showname: '定位胆', shortname: 'dwd', realname: '[定位胆]', tips: '从第一位,第二位,第三位任意位置上任意选择1个或1个以上号码。', example: '', help: '从第一位,第二位,第三位任意1个位置或多个位置上选择1个号码,所选号码与相同位置上的开奖号码一致,即为中奖。', select: { layout: [{ title: '第一位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }, { title: '第二位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }, { title: '第三位', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }] }]] }, { title: '趣味型', rows: [[{ title: '趣味型', columns: [{ showname: '定单双', shortname: 'dds', realname: '[定单双]', tips: '从不同的单双组合中任意选择1个或1个以上的组合。', example: '', help: '从5种单双个数组合中选择1种组合,当期开奖号码的单双个数与所选单双组合一致,即为中奖。', select: { layout: [{ title: '定单双', balls: ['5单0双', '4单1双', '3单2双', '2单3双', '1单4双', '0单5双'], tools: false, cls: 'large' }] } }, { showname: '猜中位', shortname: 'czw', realname: '[猜中位]', tips: '从3-9中任意选择1个或1个以上数字。', example: '', help: '从3-9中选择1个号码进行购买,所选号码与5个开奖号码按照大小顺序排列后的第3个号码相同,即为中奖。', select: { layout: [{ title: '猜中位', balls: ['03','04','05','06','07','08','09'], tools: true }] } }] }]] }, { title: '任选', rows: [[{ title: '任选复式', columns: [{ showname: '一中一', shortname: 'rx1fs', realname: '[任选复式_一中一]', tips: '从01-11中任意选择1个或1个以上号码。', example: '', help: '从01-11共11个号码中选择1个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '一中一', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '二中二', shortname: 'rx2fs', realname: '[任选复式_二中二]', tips: '从01-11中任意选择2个或2个以上号码。', example: '', help: '从01-11共11个号码中选择2个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '二中二', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '三中三', shortname: 'rx3fs', realname: '[任选复式_三中三]', tips: '从01-11中任意选择3个或3个以上号码。', example: '', help: '从01-11共11个号码中选择3个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '三中三', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '四中四', shortname: 'rx4fs', realname: '[任选复式_四中四]', tips: '从01-11中任意选择4个或4个以上号码。', example: '', help: '从01-11共11个号码中选择4个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '四中四', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '五中五', shortname: 'rx5fs', realname: '[任选复式_五中五]', tips: '从01-11中任意选择5个或5个以上号码。', example: '', help: '从01-11共11个号码中选择5个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '五中五', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '六中五', shortname: 'rx6fs', realname: '[任选复式_六中五]', tips: '从01-11中任意选择6个或6个以上号码。', example: '', help: '从01-11共11个号码中选择6个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '六中五', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '七中五', shortname: 'rx7fs', realname: '[任选复式_七中五]', tips: '从01-11中任意选择7个或7个以上号码。', example: '', help: '从01-11共11个号码中选择7个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '七中五', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }, { showname: '八中五', shortname: 'rx8fs', realname: '[任选复式_八中五]', tips: '从01-11中任意选择8个或8个以上号码。', example: '', help: '从01-11共11个号码中选择8个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', select: { layout: [{ title: '八中五', balls: ['01','02','03','04','05','06','07','08','09','10','11'], tools: true }] } }] }], [{ title: '任选单式', columns: [{ showname: '一中一', shortname: 'rx1ds', realname: '[任选单式_一中一]', tips: '手动输入号码,从01-11中任意输入1个号码组成一注。', example: '', help: '从01-11共11个号码中选择1个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }, { showname: '二中二', shortname: 'rx2ds', realname: '[任选单式_二中二]', tips: '手动输入号码,从01-11中任意输入2个号码组成一注。', example: '', help: '从01-11共11个号码中选择2个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }, { showname: '三中三', shortname: 'rx3ds', realname: '[任选单式_三中三]', tips: '手动输入号码,从01-11中任意输入3个号码组成一注。。', example: '', help: '从01-11共11个号码中选择3个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }, { showname: '四中四', shortname: 'rx4ds', realname: '[任选单式_四中四]', tips: '手动输入号码,从01-11中任意输入4个号码组成一注。', example: '', help: '从01-11共11个号码中选择4个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }, { showname: '五中五', shortname: 'rx5ds', realname: '[任选单式_五中五]', tips: '手动输入号码,从01-11中任意输入5个号码组成一注。', example: '', help: '从01-11共11个号码中选择5个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }, { showname: '六中五', shortname: 'rx6ds', realname: '[任选单式_六中五]', tips: '手动输入号码,从01-11中任意输入6个号码组成一注。', example: '', help: '从01-11共11个号码中选择6个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }, { showname: '七中五', shortname: 'rx7ds', realname: '[任选单式_七中五]', tips: '手动输入号码,从01-11中任意输入7个号码组成一注。', example: '', help: '从01-11共11个号码中选择7个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }, { showname: '八中五', shortname: 'rx8ds', realname: '[任选单式_八中五]', tips: '手动输入号码,从01-11中任意输入8个号码组成一注。', example: '', help: '从01-11共11个号码中选择8个号码进行购买,只要当期顺序摇出的5个开奖号码中包含所选号码,即为中奖。', textarea: {} }] }]] }]; // 得到用户输入的号码,格式化后的数据 this.getTextareaBall = function(playArea) { var datasel = []; var textarea = playArea.find('.textarea > textarea'); if(textarea && textarea.length > 0) { var format = textarea.val().replace(/\,|\n/g, ';'); var as = format.split(';'); $.each(as, function(idx, val) { datasel.push(val); }); } return datasel; } // 构造手动输入框 this.buildTextareaPlace = function(playArea) { var that = this; var textarea = $('<div class="textarea">').append('<textarea>'); var help = $('<div class="help">').html('每注号码之间请用一个空格或英文逗号或英文分号隔开(输入的号码会自动排序并去除不合格号码)。'); textarea.find('textarea').keyup(function() { $(this).val($(this).val().replace(/\,|\n/g, ';')); that.PlayOptions.update(); }); playArea.append(textarea); playArea.append(help); } }; return {LotteryMain:new LotteryMain()} }()