巧用weui.topTips验证数据
Posted 礼拜16
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了巧用weui.topTips验证数据相关的知识,希望对你有一定的参考价值。
场景一、有一个输入金额的场景,这个金额需要验证,验证说明如下:
不能为空格;
不能为0;
不能为汉字;
不能为其它字符;
不能大于200;
唯一可以的是,只有输入3~199之间的数字,下面的确定按钮才会显示,否则,隐藏这个按钮。
html:
<!--医生问诊金额--> <div class="weui-jiaj-panel"> <div class="weui-jiaj-money-box dialog js_show"> <div class="weui-jiaj-money-box-btn"> </div> <div class="weui-jiaj-money-box-three"> <div class="weui-flex__item"> <a id="showMoney" href="javascript:;" class="weui-btn weui-btn_mini weui-btn_default">其它</a> </div> </div> </div> </div> <!--其它金额--> <div class="weui_dialog_alert" id="showMoneyDialog" style="display: none;"> <div class="weui_mask"></div> <div class="weui_dialog"> <div class="weui_dialog_hd"><strong class="weui_dialog_title">其它金额</strong></div> <div class="weui_dialog_bd"> <div class="weui-jiaj-dialog-panel"> <div class="weui-cell"> <div class="weui-cell__bd"> <input id="dialogPrice" type="text" required class="weui-input" placeholder="¥10" /> </div> </div> </div> </div> <div class="weui_dialog_ft"> <div id="otherPriceBtn" class="weui_btn_dialog primary">确定</div> </div> </div> </div>
JS:
<script> //设置其它金额 var doctorPrices = [{ "doctorPrice": "5" }, { "doctorPrice": "10" }, { "doctorPrice": "15" }, { "doctorPrice": "20" }, { "doctorPrice": "30" }, { "doctorPrice": "60" }]; var userId = $.cookie(\'doctorId\'); $(function() { selectedPrice(); }); var page = $(\'.page\'); //顶层div var panel = page.find(\'weui-jiaj-panel\'); function selectedPrice() { var $titleHtml = \'\'; for(var a = 0; a < doctorPrices.length; a++) { var priceName = doctorPrices[a].doctorPrice; //点周weui_btn_dialog隐藏 $titleHtml += \'<button class="price_btn weui-btn weui-btn_mini weui-btn_warn"\' + \'name=\' + priceName + \'>\' + priceName + \'</button>\'; $(\'.price_btn\').css(\'margin\', \'5px\'); } $(\'.weui-jiaj-money-box-btn\').append($titleHtml); //选择金额 $(\'.price_btn\').click(function() { var titleValue = $(this).attr(\'name\'); //$(this)表示获取当前被点击元素的name值 var data = { userId: userId, price: titleValue }; data = JSON.stringify(data); $.ajax({ data: {}, dataType: \'json\', type: "post", url: postDoctorPrice().replace("{userId}", userId).replace("{price}", titleValue), contentType: \'application/json; charset=utf-8\', success: function(data) { if(data && data.status == \'200\') { weui.topTips(\'提交成功\'); } }, error: function(data) { location.href = \'doctor_wode.html\'; } }); }); //其它金额 $(\'#otherPriceBtn\').on(\'click\', function(e) { var otherPrice = $(\'#dialogPrice\').val(); otherPrice = parseInt(otherPrice); otherPrice = otherPrice.toString(); console.log("其它金额" + otherPrice); var data = { userId: userId, price: otherPrice }; data = JSON.stringify(data); $.ajax({ data: {}, dataType: \'json\', type: "post", url: postDoctorPrice().replace("{userId}", userId).replace("{price}", otherPrice), //post 时url带参数 contentType: \'application/json; charset=utf-8\', success: function(data) { if(data && data.status == \'200\') { weui.topTips(\'设置成功!\'); } }, error: function(data) { location.href = \'doctor_wode.html\'; } }); }); } //验证 $(\'input\').on(\'blur\',function(){ var value = this.value; var regChinese = new RegExp("[\\\\u4E00-\\\\u9FFF]+","g"); //字符串不能为空 if(value.length == 0) { $(\'#otherPriceBtn\').hide(); weui.topTips(\'不能为空\'); //字符串是否为“空”字符即用户输入了空格 }else if(value.replace(/(^s*)|(s*$)/g, "").length ==0){ $(\'#otherPriceBtn\').hide(); weui.topTips(\'不能为空\'); //字符串是否为空或者全部都是空格 }else if(value == null){ $(\'#otherPriceBtn\').hide(); weui.topTips(\'不能为null\'); //字符串是否为汉字 }else if(regChinese.test(value)){ $(\'#otherPriceBtn\').hide(); weui.topTips(\'不能输入汉字\'); //字符串不能为0 }else if(parseInt(value) == 0){ $(\'#otherPriceBtn\').hide(); weui.topTips(\'不能为0\'); //不能大于200 }else if(parseInt(value) > 200){ $(\'#otherPriceBtn\').hide(); weui.topTips(\'自定义金额不能大于200元\'); //自定义金额只能是数字 }else if(typeof(parseInt(value))){ $(\'#otherPriceBtn\').show(); } }) </script>
场景二、所有违反规距的都有信息提示,但是“确定”按钮不隐藏,只是删除它的click事件,只有符合条件的才可以跳转
//验证 $(\'input\').on(\'blur\', function() { var value = this.value; var regChinese = new RegExp("[\\\\u4E00-\\\\u9FFF]+", "g"); //汉语 var specialSymbol =/[`~!@#$%^&*_+<>{}\\/\'[\\]]/im; //特殊符号 //字符串不能为空 if(value.length == 0) { $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'不能为空,请重新输入\'); }, 500); //字符串是否为“空”字符即用户输入了空格 } else if(value.replace(/(^s*)|(s*$)/g, "").length == 0) { $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'不能为空,请重新输入\'); }, 500); //字符串是否为空或者全部都是空格 } else if(value == null) { $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'不能为空,请重新输入\'); }, 500); //字符串是否为汉字 } else if(regChinese.test(value)) { $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'不能输入汉字,请重新输入\'); }, 500); //字符串不能为0 } else if(parseInt(value) == 0) { $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'不能为0,请重新输入\'); }, 500); //小于3 } else if(parseInt(value) < 4) { $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'自定义金额不能小于3,请重新输入\'); }, 500); //不能大于200 } else if(parseInt(value) > 200) { $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'自定义金额不能大于200,请重新输入\'); }, 500); } else if(specialSymbol.test(value)){ //禁止输入特殊字符 $(\'#otherPriceBtn\').unbind(\'click\'); setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'不可输入!@#¥%……&*特殊字符!\'); }, 500); //自定义金额只能是数字 } else if(typeof(parseInt(value))) { setTimeout(function() { $(\'.hide-description\').css(\'display\', \'block\').text(\'你设置的金额为\' + value); }, 500); //其它金额 $(\'#otherPriceBtn\').on(\'click\', function(e) { var otherPrice = $(\'#dialogPrice\').val(); otherPrice = parseInt(otherPrice); otherPrice = otherPrice.toString(); console.log("其它金额" + otherPrice); var data = { userId: userId, price: otherPrice }; data = JSON.stringify(data); $.ajax({ data: {}, dataType: \'json\', type: "post", url: postDoctorPrice().replace("{userId}", userId).replace("{price}", otherPrice), //post 时url带参数 contentType: \'application/json; charset=utf-8\', success: function(data) { if(data && data.status == \'200\') { weui.topTips(\'设置成功!\'); } }, error: function(data) { location.href = \'doctor_wode.html\'; } }); }); } })
以上是关于巧用weui.topTips验证数据的主要内容,如果未能解决你的问题,请参考以下文章
巧用Vscode编辑器,快速编辑代码,教你一键写完一段代码,向合格的cv工程师前进
巧用Vscode编辑器,快速编辑代码,教你一键写完一段代码,向合格的cv工程师前进
巧用Vscode编辑器,快速编辑代码,教你一键写完一段代码,向合格的cv工程师前进
巧用Vscode编辑器,快速编辑代码,教你一键写完一段代码,向合格的cv工程师前进