- Android SurfaceTexture和GLSurfaceView做Camera预览
小小攻城师
AndroidSurfaceTextureGLSurfaceViewSurfaceTextureopenGopenGL
GLSurfaceView是OpenGL中的一个类,也是可以预览Camera的,而且在预览Camera上有其独到之处。独到之处在哪?当使用Surfaceview无能为力、痛不欲生时就只有使用GLSurfaceView了,它能够真正做到让Camera的数据和显示分离,所以搞明白了这个,像Camera只开预览不显示这都是小菜,妥妥的。Android4.0的自带Camera源码是用SurfaceView
- 4-2.Android Camera 之预览图像编码模板(SurfaceView)
我命由我12345
Android-简化编程androidjavajava-eeandroid-studioandroidstudio视频
一、CameraCamera用于捕获图像和视频在Android开发的早期阶段,Android提供android.hardware.CameraAPI,开发者用它来访问和控制设备的摄像头硬件然而,随着Android系统的发展,从Android5.0(API级别21)开始,Android引入了一个新的Camera2API,以提供更强大和灵活的控制功能二、Camera预览图像1、UtilMyCamera
- Android Camera系列(三):GLSurfaceView+Camera
如果可以003
AndroidCameraandroidCameraGLSurfaceView
人类的悲欢并不相通—鲁迅AndroidCamera系列(一):SurfaceView+CameraAndroidCamera系列(二):TextureView+CameraAndroidCamera系列(三):GLSurfaceView+Camera本系列主要讲述Android开发中Camera的相关操作、预览方式、视频录制等,项目结构代码耦合性低,旨在帮助大家能从中有所收获(方便copy:)),
- Android 音视频三种方式绘制图片
Android小码
在Android平台绘制一张图片,使用至少3种不同的API,ImageView,SurfaceView,自定义View。1.ImageView绘制图片这个想必做过Android开发的都知道如何去绘制了。很简单:Bitmapbitmap=BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath()+File.
- Android使用OpenGL渲染ffmpeg解码的YUV视频数据
FlyerGo
在《安卓使用SurfaceView绘制ffmpeg解码的视频数据》虽然我们成功地实现了视频的渲染,但是在YUV转换成RGB的时候,我们调用了ffmpeg内部的转换函数,这里面包含大量的计算转换,所以是很耗费CPU性能的。今天我们来学习一下如何将YUV转换RGB的功能转换到GPU中去执行,减少CPU的计算工作量,达到性能优化的目的。解决方案是使用OpenGL渲染,将YUV转换RGB的功能交由着色器去
- Android MediaCodec 简明教程(四):使用 MediaCodec 将视频解码到 Surface,并使用 SurfaceView 播放视频
芥末的无奈
android音视频
系列文章目录AndroidMediaCodec简明教程(一):使用MediaCodecList查询Codec信息,并创建MediaCodec编解码器AndroidMediaCodec简明教程(二):使用MediaCodecInfo.CodecCapabilities查询Codec支持的宽高,颜色空间等能力AndroidMediaCodec简明教程(三):详解如何在同步与异步模式下,使用MediaC
- android camera系列(Camera1、Camera2、CameraX)的使用以及输出的图像格式
余生爱静
Android基础jnicameracamera2libyuv
一、Camera1.1、结合SurfaceView实现预览1.1.1、布局1.1.2、实现预览mBinding.preview.getHolder().addCallback(newSurfaceHolder.Callback2(){@OverridepublicvoidsurfaceRedrawNeeded(@NonNullSurfaceHolderholder){mCamera=Camera.
- android 自定义相机,Android自定义相机Camera基础
奔跑的楠子
android自定义相机
创建自定义相机界面调用Camera来实现拍照功能。如左图:上方是一个CAPTURE按钮,下方是用来实时显示摄像头预览画面的SurfaceView,通过点击CAPTURE按钮进行拍照,并将拍摄的图片显示到一个新的活动界面,新的活动界面如右图:上方是一个TextView,下方是一个ImageView显示拍摄好的照片。拍摄界面的活动代码如下:CustomCamera.javapublicclassCus
- Android 自定义视频播放器
leverge2009
由于录像之后,原先选用的腾讯VOD点播播放器显示出来竖屏都变横屏了,虽然选中了现在的腾讯VOD点播,还是把Android视频播放器了解了一番。Android自定义视频播放器有以下三种:一、MediaPlayer与SurfaceView相结合//为SurfaceHolder添加回调mSurfaceView.getHolder().addCallback(callback);//4.0版本之下需要设置
- android最新相机打不开,相机出错
横戈
android最新相机打不开
照相机出错!自己做了一个简单的照相机预览的功能,插在程序中,运行出错,大概提示:Causedby:android.view.InflateException:BinaryXMLfileline#86:Errorinflatingclasssurfaceview还有:Causedby:java.lang.ClassNotFoundException:android.view.surfaceview和
- Android 自定义播放器旋转角度及手势调整声音亮度
田一一一
AndroidAndroid视频播放手势控制自定义旋转角度
最近项目中用到了自定义播放器,大概要求是这样的:控制台会自动消失点击屏幕又会自动弹出,视频角度需要旋转,手势控制亮度跟音量.一般在Android中,播放视频如果要求不高的话我都是用的videoView,这样最简单,但是如果项目对播放视频要求比较多一般推荐用自定义的,如:surfaceView+mediaPlayer,但是如果视频角度要旋转,这样suefaceView就行不通了,就得用texture
- android基础_音频播放API + 视频播放API +SurfaceView介绍
zengk562
VideoViewSurfaceView
播放音频的APIMediaPlayerMediaPlayer状态图解:播放本地音乐:publicvoidplay(Viewv){Stringpath=et_path.getText().toString();//1.判空操作,2,判断是否真的存在这个文件,有可能用户输入的是非法的文件路径try{//1,创建一个多媒体播放器mediaPlayer=newMediaPlayer();//2.设置播放资
- SurfaceView和TextureView理解相关
Eason风云
java开发语言
一、为什么要使用SurfaceView我们知道View是通过刷新来重绘视图,系统通过发出VSSYNC信号来进行屏幕的重绘,刷新的时间间隔是16ms,如果我们可以在16ms以内将绘制工作完成,则没有任何问题,如果我们绘制过程逻辑很复杂,并且我们的界面更新还非常频繁,这时候就会造成界面的卡顿,影响用户体验,为此Android提供了SurfaceView来解决这一问题View和SurfaceView的区
- UVCAndroid,安卓UVC相机通用开发库(支持多预览和多摄像头)
kanseei
androidUVCuvcandroid安卓
文章目录简介主要功能如何使用1.添加依赖到本地工程2.获取权限3.初始化UVC业务类,设置UVC摄像头状态回调,设置TextureView或者SurfaceView的Surface监听回调4.释放UVC业务类(包含取消UVC摄像头状态回调,停止Camera预览,关闭Camera等操作)5.图片抓拍6.录制视频7.改变摄像机预览参数(包括帧格式、宽度、高度、FPS)8.调整对比度、亮度、色调、饱和度
- Android studio SurefaceView 视频播放器应用设计
colin工作室
androidandroidstudioandroidide
一、新建EmptyActivity项目:二、xml布局文件设计:添加SurfaceView控件三、MainActivity实现activity:MediaPlayer.OnBufferingUpdateListener,MediaPlayer.OnCompletionListener,SurfaceHolder.Callback,MediaController.MediaPlayerControl
- Android跨进程渲染
我是黄大仙
android
文章目录背景实现步骤服务端客户端参考代码背景2024年第一篇博客,希望所有看到这篇博客的同学都能财务自由,早日退休!跨进程渲染就是在服务端进程渲染,在客户端进程显示。在一些3d的应用场景,当多个应用需要显示时,就可以使用跨进程渲染,这样做的好处就是,客户端进程比较轻量,无需每个客户端都引入3d引擎,减少包大小,减少内存占用。实现步骤Android里面的跨进程渲染主要是通过Surfaceview和S
- Android音视频(一):绘制图片的三种方式
沉默的阿迪
1、ImageView显示图片Bitmapbitmap=BitmapFactory.decodeFile(imgPath+"/123.jpg");iv.setImageBitmap(bitmap);2、SurfaceView绘制图片SurfaceViewsv=findViewById(R.id.sv);sv.getHolder().addCallback(newSurfaceHolder.Call
- Android SurfaceView简例
zhangphil
Androidandroid
AndroidSurfaceView简例Android中各的SurfaceView和View有很大的不同,两者应用场景不同。大多数View能做的事情SurfaceView也可以,但是SurfaceView效率更高。Android的View绘制过程由Android系统控制,刷新机制开发者比较难以控制。而SurfaceView支持高频、多线程绘制。SurfaceView不存在是否在AndroidUI主
- .NoSuchMethodException: [class android.content.Context, interface and
世道无情
1.报错在我们自定义View时候,有时候会报错,如下图所示:自定义SurfaceView报错.png2.报错原因与解决方案错误原因一及解决方案:在自定义View时候,没有写含有(Contextcontext,AttributeSetattrs)的构造方法导致的,自己在自定义SurfaceView时候,没有写其构造方法导致这个错误,添加其构造方法即可解决,代码如下:publicDemoSurface
- Android系列-SurfaceView和View
lostfish123
Androidandroid
1.SurfaceView为什么可以在线程绘制SurfaceView之所以能够在独立的线程中进行绘制,是因为它的内部设计允许绘制操作在一个单独的后台线程中执行,而不会阻塞主线程。关键原因包括:Surface和Canvas分离:SurfaceView包含一个底层的Surface对象,而Surface可以被不同的线程锁定(lockCanvas)和解锁(unlockCanvasAndPost)。这使得绘
- android系列-SurfaceView和View的区别
lostfish123
Androidandroid
(来自chatgpt的回答)SurfaceView和View是Android中两种不同的视图组件,它们在渲染和刷新机制上有一些区别。1.绘制方式View:View的绘制是在UI线程中进行的,即主线程。如果进行复杂的绘制操作,可能会导致主线程阻塞,影响界面的响应性能。SurfaceView:SurfaceView允许在一个独立的线程中进行绘制操作,即后台线程。这样可以避免在主线程中进行复杂的绘制操作
- Android将自定义的SurfaceView保存为bitmap
唐诺
androidSurfaceViewBitmap
正常将View保存为Bitmap的方法:privateBitmapgetViewToBitmap(Viewview){//layoutView(view);//创建Bitmap,最后一个参数代表图片的质量.Bitmapbitmap=Bitmap.createBitmap(view.getWidth(),view.getHeight(),Bitmap.Config.ARGB_8888);if(bit
- 基于 FFmpeg 的跨平台视频播放器简明教程(十二):Android SurfaceView 显示图片和播放视频
芥末的无奈
音视频ffmpegffmpeg音视频android
系列文章目录基于FFmpeg的跨平台视频播放器简明教程(一):FFMPEG+Conan环境集成基于FFmpeg的跨平台视频播放器简明教程(二):基础知识和解封装(demux)基于FFmpeg的跨平台视频播放器简明教程(三):视频解码基于FFmpeg的跨平台视频播放器简明教程(四):像素格式与格式转换基于FFmpeg的跨平台视频播放器简明教程(五):使用SDL播放视频基于FFmpeg的跨平台视频播放
- Android Camera 摄像头 预览时 水平镜像
小康师兄
AndroidandroidjavacamerasurfaceViewmatrix
一、效果图废话不多说,直接看效果二、关键代码Matrixmatrix=surfaceView.getMatrix();matrix.setScale(-1,1,surfaceView.getWidth()/2,0);surfaceView.setTransform(matrix);Log.e(TAG,"width="+surfaceView.getWidth());三、全部代码activity_m
- Android共享元素动画
菠萝加点糖
android
示例在两个Activity之间实现共享元素动画首先,在布局文件中定义两个界面的SurfaceView,并为它们设置相同的android:transitionName属性在源Activity中,当用户启动目标Activity,并设置共享元素动画valintent=Intent(this,TargetActivity::class.java)valoptions=ActivityOptionsComp
- SurfaceView技术点总结及源码解析
ModestStorm
我们知道,当在view绘制时进行耗时操作或者复杂的动画,会出现丢帧或卡顿现象,用户体验极为不好。Android系统每隔16ms就会发出一次VSYNC信号触发对UI进行渲染,如果这16ms内我们没有完成对视图的绘制,那么就会出现丢帧的情况。之所以这样是因为,人眼与大脑之间的协作无法感知超过60fps的画面更新。60帧每秒就意味着:16ms=1000/60Hz。Android提供了SurfaceVie
- 谨慎使用android.view.SurfaceView.setVisibility方法
帅气好男人_Jack
bug分析android
谨慎使用android.view.SurfaceView.setVisibility方法why?原因就是此方法会导致native的内存暴增,前提条件你使用surfaceview去绘制一些复杂的3D图形,绘制复杂、业务复杂的场景;setVisibility方法会调用surfaceView的updateSurface,而此方法内部就可能会分配大量的native内存分析查看updateSurface源码
- FFmpeg+SDL实现播放器
Windra6
音视频ffmpegsdl
一、序言:之前做嵌入式移动端设备播放都是基于Android平台的(SurfaceView显示+AudioTrack播放声音),要么是linux系统直接ffmpeg解码音视频数据后用framebuffer显示和tinyalsa播放声音,做好音视频同步。鉴于本文是用于学习入门ffmpeg的所以选择Ubuntu系统平台,省去大家去搭建Android或嵌入式linux开发环境。这三种平台都是大同小异的。二
- [2021.12.5]使用MediaRecorder录制音频和视频(Camera1)
vimer-hz
3.1.2《Android从入门到精通》cameraMediaRecorderandroid
1概述MediaRecorder类用于录制音频和视频。步骤如下:(1)实例化MediaRecorder对象(2)设置声音来源和图像来源(3)设置视频分辨率(4)设置录制视频文件的保存路径(5)设置使用哪个SurfaceView(6)准备录制视频(7)开始录制视频(8)停止录制,释放资源2代码CameraRecord:https://github.com/hanyuhang-hz/android-d
- Android 音视频开发入门指南
SmileToLin
1.在Android平台绘制一张图片,使用至少3种不同的API,ImageView,SurfaceView,自定义View2.在Android平台使用AudioRecord和AudioTrackAPI完成音频PCM数据的采集和播放,并实现读写音频wav文件3.在Android平台使用CameraAPI进行视频的采集,分别使用SurfaceView、TextureView来预览Camera数据,取到
- java数字签名三种方式
知了ing
javajdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
- Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
- 设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
- 读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
- js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
- erlang之parse_transform编译选项的应用
616050468
parse_transform游戏服务器属性同步abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
- JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
- POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
- 工作流Activiti5表的命名及含义
atongyeye
工作流Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
- android的广播机制和广播的简单使用
百合不是茶
android广播机制广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
- Spring事务传播行为详解
bijian1013
javaspring事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
- eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
- 【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
- Spring 事务实现机制
BlueSkator
spring代理事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
- bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrapdropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
- 读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
- 常用代码记录
chenjunt3
UIExcelJ#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
- 搜索引擎与工作流引擎
comsci
算法工作搜索引擎网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
- oracle Health Monitor
daizj
oracleHealth Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
- JSON字符串转换为对象
dieslrae
javajson
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
- C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
- vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
- 14.性能优化-优化-软件配置优化
frank1234
软件配置性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
- 一个不错的shell 脚本教程 入门级
HarborChung
linuxshell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
- Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring动态代理spring4依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- Linux设置tomcat开机启动
liuxingguome
tomcatlinux开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
- 第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
- Java开发熟手该当心的11个错误
tomcat_oracle
javajvm多线程单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
- 正则表达式大全
yang852220741
html编程正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$