首页 > 其他分享 >车牌录入控件JS+CSS+JQuery

车牌录入控件JS+CSS+JQuery

时间:2023-04-02 09:45:08浏览次数:45  
标签:JQuery 控件 38px width li ul 5px JS border

 

 

HTML

<div class="carcodeBox">
<div class="carLicenseMain">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<!--<input type="text" id="carinput"/>-->
</div>

<div class="keyboardBox">
<div class="provienceBox" id="textJtBoxs">
<ul>
<li>京</li>
<li>津</li>
<li>渝</li>
<li>沪</li>
<li>冀</li>
<li>晋</li>
<li>辽</li>
<li>吉</li>
<li>黑</li>
<li>苏</li>
<li>浙</li>
<li>皖</li>
<li>闽</li>
<li>赣</li>
<li>鲁</li>
<li>豫</li>
<li>鄂</li>
<li>湘</li>
<li>粤</li>
<li>琼</li>
<li>川</li>
<li>贵</li>
<li>云</li>
<li>陕</li>
<li>甘</li>
<li>青</li>
<li>蒙</li>
<li>桂</li>
<li>宁</li>
<li>新</li>
<li>藏</li>
<li>使</li>
<li>领</li>
<li>警</li>
<li>学</li>
<li>港</li>
<li>澳</li>
<li class="changeContentBtn" datas="en">ABC</li>
<li class="deleteBtn" datas="delete">删除</li>
</ul>
</div>

<div class="provienceBox" id="textEnBox">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>0</li>
<li>Q</li>
<li>W</li>
<li>E</li>
<li>R</li>
<li>T</li>
<li>Y</li>
<li>U</li>
<li>I</li>
<li>O</li>
<li>P</li>
<li>A</li>
<li>S</li>
<li>D</li>
<li>F</li>
<li>G</li>
<li>H</li>
<li>J</li>
<li>K</li>
<li>L</li>
<li>Z</li>
<li>X</li>
<li>C</li>
<li>V</li>
<li>B</li>
<li>N</li>
<li>M</li>
<li class="changeContentBtn" datas="jt">中</li>
<li class="deleteBtn other" datas="delete">删除</li>
</ul>
</div>
</div>
<button onclick="submms()" style="margin-top: 250px;padding: 5px 30px;">提交</button>
</div>

 

 

JQuery

//点击页面的其他地方,关闭小键盘
$(document).on("click","body",function(){
$("#textEnBox,#textJtBoxs").hide();
});


//提交按钮,获取车牌号码
function submms(){
var carNum="";
$(".carLicenseMain ul li").each(function(index){
var cartext=$(this).text();
console.log(index)
if(cartext=="" && index<7){
cartext=" ";
}else{

}
carNum+=cartext;
})
$("#carinput").val(carNum);
if(carNum.indexOf(" ")!=-1){
alert("请填写完整车牌号");
}else{

}
}



//点击小键盘时
$(document).on("click",".provienceBox ul li",function(event){
event.stopPropagation();
var dataqh=$(this).attr("datas");
//如果点击的是”ABC“,显示英文键盘
if(dataqh=="en"){
var indexs=$(".carLicenseMain ul li.active").index();
//如果是输入第一位,不能切换键盘
if(indexs==0){
alert("车牌号第一位只能是简称");
}else{
$("#textEnBox").show();
$("#textJtBoxs").hide();
}
//如果点击的是”中“,显示省份键盘
}else if(dataqh=="jt"){
$("#textEnBox").hide();
$("#textJtBoxs").show();

//如果是”删除“,就删除
}else if(dataqh=="delete"){
var ontext=$(".carLicenseMain ul li.active").text();

if(ontext){
$(".carLicenseMain ul li.active").text("");
}else{
var indexs=$(".carLicenseMain ul li.active").index();
if(indexs==0){
$(".carLicenseMain ul li.active").text("");
}else{
$(".carLicenseMain ul li").removeClass("active");
$(".carLicenseMain ul li").eq(indexs-1).addClass("active");
$(".carLicenseMain ul li.active").text("");
}

}

}else{
var textname=$(this).text();
keyboard(textname)
}
});


//点击车牌输入框时
$(document).on("click",".carLicenseMain ul li",function(event){
event.stopPropagation();
$(this).siblings("li").removeClass("active");
$(this).addClass("active");
var indexs=$(".carLicenseMain ul li.active").index();
if(indexs==0){
$("#textEnBox").hide();
$("#textJtBoxs").show()
}else{
$("#textEnBox").show();
$("#textJtBoxs").hide();
}
});


//把
function keyboard(textname){
$(".carLicenseMain ul li.active").text(textname);
var indexs=$(".carLicenseMain ul li.active").index();
if(indexs==0 || indexs==7){
$("#textEnBox").show();
$("#textJtBoxs").hide();
}else{

}
if(indexs>=7 || indexs<=-1){
// $(".carLicenseMain ul li").removeClass("active");
$("#textEnBox").hide();
$("#textJtBoxs").hide();
}else{
$(".carLicenseMain ul li").removeClass("active");
$(".carLicenseMain ul li").eq(indexs+1).addClass("active");
}
}

 

CSS

.carcodeBox{width: 100%;max-width: 1200px;margin: 0 auto;position: relative;}
.carcodeBox ul{overflow: auto;padding: 0;margin: 0;}
.carcodeBox ul li{list-style: none;}

.carLicenseMain ul{display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;} 
.carLicenseMain ul li{width: 38px;height: 38px;box-sizing: border-box;border: 1px solid #ccc;display: inline-block;line-height: 36px;
font-size: 18px;color: #000;text-align: center;margin-left: 5px;cursor: pointer;}
.carLicenseMain ul li:nth-last-child(1){border: 2px dashed #00b520;}
.carLicenseMain ul li.active{border: 1px solid #f3483e;color: #f3483e;}

.keyboardBox{position: absolute;z-index: 10;width: 493px;top: 45px;left: 0;}
.provienceBox{background: #D0D5D9;padding: 5px 5px;padding-top: 3px;border-radius: 5px;box-shadow: 5px 5px 10px #9e9e9e;}
.provienceBox ul li{display: inline-block;width: 38px;height: 38px;line-height: 38px;background: #fff;margin: 5px 3px;text-align: center;
cursor: pointer;font-size: 14px;border-radius: 5px;box-shadow: 2px 2px 3px #979797;}
.provienceBox ul li.deleteBtn{width: 90px;background: #c20000;float: right;color: #fff;}
.provienceBox ul li:hover{box-shadow: 0px 0px 3px #f3483e;color: #f3483e;}
#textEnBox,#textJtBoxs{display: none;}

 

转自: https://www.cnblogs.com/linhaisheng/p/15589031.html

 

验证车牌正则表达式:

$('#F_LicensePlate').on("blur", function () {
                var lp = $('#F_LicensePlate').val();
                var reg = new RegExp('^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[a-zA-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[DF]))|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$');
                var ret = reg.test(lp);
                if (!ret)
                    pc.alert.error("请输入正确的车牌");
            });

 

标签:JQuery,控件,38px,width,li,ul,5px,JS,border
From: https://www.cnblogs.com/chenc1826/p/17279934.html

相关文章

  • JS的继承
         ......
  • 关于ether.js的版本
    今天遇到一个很搞心态的问题,是在按照网上的etherjs教程,在hardhat环境下,利用ether.js的jsonrpcprovider建立节点与以太坊之间的网络连接时遇到的,以下是代码:constethers=require("ethers");//constJsonRpcProvider=ethers.providers;asyncfunctionmain(){constINFUR......
  • RSA加密与解密(jsencrypt.js)
    写在开头RSA加密不过多解释,直接描述使用时的流程和方法RSA加密一般是公钥加密私钥解密,多用于前台公钥加密传参给后台,后台私钥解密。本次我用到的场景是跨系统地址栏传参,参数需要加密处理。使用RSA加密时需要用到jsencrypt,使用方法会介绍怎么安装及使用jsencrypt介绍jsencrypt......
  • 【WPF】ContextMenu 控件
    ContextMenu无论定义在.cs或.xaml文件中,都不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Binding}”是行不通的不能绑父级,但是能绑资源 第一步:定义一个中间类用来做资源对象publicclassBindingProxy:Freezable{#regionOver......
  • WinForm的Listbox控件实现拖拽数据功能
    WinForm的Listbox控件实现拖拽数据功能相关函数:MouseDownDragDropDragEnter思路:当左侧的空间鼠标按下(MouseDown)以后,触发DragDrop操作,然后移动到右侧控件中,将会触发右侧控件的DragEnter事件。右侧同理MouseDown:触发拖动操作DragDrop:从当前容器中拖拽动作完成时的操作(发......
  • C# 直接在子线程中对窗体上的控件操作是会出现异常
    https://www.bbsmax.com/A/MAzA8klpd9/ Form1里privatedelegatevoidDispMSGDelegate(intindex,stringMSG);publicvoidDispMsg(intiIndex,stringstrMsg){if(this.richTextBox1.InvokeRequired==false)......
  • JS基础《JavaScript精粹》笔记摘录
    基础概念和语法基本类型、null、undefined、NaNJavaScript定义了一小批基本类型(primitivetype),它们包括字符串类型(string,单引号或双引号包起来)、数值类型(number,整数和小数都用这个类型)和布尔类型(boolean,值仅有true和false)。JavaScript使用两个特殊的值来表示不存在有意义的值—......
  • JS基础-jQuery快速入门
    作用简介:jQuery是一个JavaScript库,它极大地简化了JavaScript编程,极大简化了DOM操作及事件处理。它通过CSS选择器定位元素,并将这些元素封装在特定JavaScript对象中,然后,开发者就可以更改元素或者给元素添加事件监听器。jQuery能够处理的任何工作,都可以用既有的JavaScript代码......
  • Qt学习笔记9——P30-33. 自定义控件封装,鼠标事件,定时器
    P30.自定义控件封装P31.Qt中的鼠标事件P32.定时器1P33.定时器2P30.自定义控件封装(创建了新项目) 添加新的界面和类:右键项目的文件夹(顶层的文件)->Qt——Qt设计师界面类->“选择界面模板”选"Widget"->在"Classname"中取个类名(此案例中改成了SmallWidget)->别的没......
  • Hello QuickJS
    #include"quickjs.h"#include"quickjs-libc.h"#include<string.h>JSRuntime*QJSRuntime=nullptr;JSContext*QJSContext=nullptr;JSContext*CreateQJSContext(JSRuntime*InRuntime){JSContext*RetVal=JS_NewContext(QJSR......