/判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为空格!');//请将“文本框”改成你需要验证的属性名称! } } //判断日期类型是否为YYYY-MM-DD格式的类型 function IsDate(){ var str = document.getElementById('str').value.trim(); if(str.length!=0){ var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/; var r = str.match(reg); if(r==null) alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称! } } //判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 function IsDateTime(){ var str = document.getElementById('str').value.trim(); if(str.length!=0){ var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/; var r = str.match(reg); if(r==null) alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称! } } //判断日期类型是否为hh:mm:ss格式的类型 function IsTime() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^((20|21|22|23|[0-1]d):[0-5][0-9])(:[0-5][0-9])?$/ if(!reg.test(str)){ alert("对不起,您输入的日期格式不正确!");//请将“日期”改成你需要验证的属性名称! } } } //判断输入的字符是否为英文字母 function IsLetter() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[a-zA-Z]+$/; if(!reg.test(str)){ alert("对不起,您输入的英文字母类型格式不正确!");//请将“英文字母类型”改成你需要验证的属性名称! } } } //判断输入的字符是否为整数 function IsInteger() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[-+]?d*$/; if(!reg.test(str)){ alert("对不起,您输入的整数类型格式不正确!");//请将“整数类型”要换成你要验证的那个属性名称! } } } //判断输入的字符是否为双精度 function IsDouble(val) { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[-+]?d+(.d+)?$/; if(!reg.test(str)){ alert("对不起,您输入的双精度类型格式不正确!");//请将“双精度类型”要换成你要验证的那个属性名称! } } } //判断输入的字符是否为:a-z,A-Z,0-9 function IsString() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[a-zA-Z0-9_]+$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的字符是否为中文 function IsChinese() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[u0391-uFFE5]+$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的EMAIL格式是否正确 function IsEmail() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的邮编(只能为六位)是否正确 function IsZIP() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^d{6}$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的数字不大于某个特定的数字 function MaxValue() { var val = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[-+]?d*$/; if(!reg.test(str)){//判断是否为数字类型 if(val>parseInt('123')) //“123”为自己设定的最大值 { alert('对不起,您输入的数字超出范围');//请将“数字”改成你要验证的那个属性名称! } } } } Phone : /^(((d{2,3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}(-d{1,4})?$/ Mobile : /^(((d{2,3}))|(d{3}-))?13d{9}$/ Url : /^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/ IdCard : /^d{15}(d{2}[A-Za-z0-9])?$/ QQ : /^[1-9]d{4,8}$/ 某种特殊金额:/^((d{1,3}(,d{3})*)|(d+))(.d{2})?$/ //说明:除“XXX XX,XXX XX,XXX.00”格式外 //为上面提供各个JS验证方法提供.trim()属性 String.prototype.trim=function(){ return this.replace(/(^s*)|(s*$)/g, ""); } 调用: <input type="text" name="str" > <input type="button" value=" 确定 " onClick=""> //onClick中写自己要调用的JS验证函数 <script language="JavaScript" type="text/javascript"> var patterms = new Object(); //验证IP patterms.ip = /^(d{1,2}|1dd|2[0-4]d|25[0-5])(.(d{1,2}|1dd|2[0-4]d|25[0-5])){3}$/; //验证EMAIL patterms.email = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/; //验证日期格式2009-07-13 patterms.date = /^d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]d|3[0-1])$/; //验证时间格式16:55:39 patterms.time = new RegExp("^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$"); //验证函数 function verify(str,pat) { var thePat; thePat = patterms[pat]; if(thePat.test(str)) { return true; } else { return false; } } //测试 alert(verify("asidycom@163.com","email")+","+verify("192.168.1.1","ip")+ ","+verify("16:55:39","time")+","+verify("2009-07-13","date")+","+verify("192.168","ip")); 验证数字:^[0-9]*$ 验证n位的数字:^d{n}$ 验证至少n位数字:^d{n,}$ 验证m-n位的数字:^d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^+?[1-9][0-9]*$ 验证非零的负整数:^-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^d+$ 验证非正整数(负整数 + 0) ^((-d+)|(0+))$ 验证长度为3的字符:^.{3}$ 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由26个小写英文字母组成的字符串:^[a-z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 验证由数字、26个英文字母或者下划线组成的字符串:^w+$ 验证用户名或昵称经常用到: ^[u4e00-u9fa5A-Za-z0-9-_]*$ 只能中英文,数字,下划线,减号 验证用户密码:^[a-zA-Z]w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 ^%&',;=?$" 等字符:[^%&',;=?$x22]+ 验证汉字:^[u4e00-u9fa5],{0,}$ 验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$ 验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 验证身份证号(15位或18位数字):^d{15}|d{}18$ 验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。 整数:^-?d+$ 非负浮点数(正浮点数 + 0):^d+(.d+)?$ 正浮点数 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$ 非正浮点数(负浮点数 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$ 负浮点数 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 浮点数 ^(-?d+)(.d+)?$ 由于手机号段的不断更新,以前的正则表达式已经无法满足需求。重新编写这条表达式,号段资料来源依据:http://www.von-line.com/hao.htm 1 2 3 var regex = { mobile: /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/ } 表达式分析: “/”代表一个正则表达式。 “^”代表字符串的开始位置,“$”代表字符串的结束位置。 “?”代表匹配前面的字符一个或零个,所以这里0?的意思是手机号码可以以0开头或不以0开头。 接下的部分验证11位的手机号码,先从13开始,因为从130-139都有所以可选区间是[0-9],15开头的号码没有154所以[]里面没有4这个数字,当然也可以写成[0-35-9], 下面18和14开的号码同上。 小括号括起来的代表一个子表达式,里面是4个可选分支分别用“|”来区分开来,在正则中“|”的优先级是最低的,这里每个分支匹配的都是3个字符(一个[]只能匹配一个字符, 里面是可选的意思),也就是手机号码的前3位数字,那么后面还有8位数字需要匹配,可以是0-9的任意字符,所以是“[0-9]{8}”,{}中的数字代表匹配前面字符的个数。分析完毕。
js正则表达式验证大全
Vue3中的Ref与Reactive:深入理解响应式编程
前言Vue 3是一个功能强大的前端框架,它引入了一些令人兴奋的新特性,其中最引人注目的是ref和reactive。这两个API是Vue 3中响应式编程的核心,本文将深入探讨它们的用法和差异。
玩转Vue3之Composables
前言Composables 称之为可组合项,熟悉 react 的同学喜欢称之为 hooks ,由于可组合项的存在,Vue3 中的组件之间共享状态比以往任何时候都更容易。这种新范例引入了一种更有组织
初识JavaScript逆向——以网易云音乐和招标网站为例
前言:需要掌握一定的JavaScript基础,能看懂基础的JavaScript代码。我们平常在浏览网站的时候会看到许多加密的参数,如果需要知道它的原始数据,就需要知道整个加密过程,所以本篇文
答应我,在vue中不要滥用watch好吗?
前言上周五晚上8点,开开心心的等着产品验收完毕后就可以顺利上线。结果产品突然找到我说要加需求,并且维护这一块业务的同事已经下班走了,所以只有我来做。虽然内心一万头草泥
Vue 3 的 setup语法糖到底是什么东西?
前言我们每天写vue3项目的时候都会使用setup语法糖,但是你有没有思考过下面几个问题。setup语法糖经过编译后是什么样子的?为什么在setup顶层定义的变量可以在template中可以
使用jQuery实现复选框选中状态的实时更新
在Web开发中,常常会遇到需要对复选框选中状态进行实时更新的情况。通过使用jQuery,我们可以很方便地实现实时更新复选框选中状态的功能。下面将介绍如何使用jQuery来完成这个
简明指南:使用 jQuery 改变表格行属性值的方法
标题:简明指南:使用 jQuery 改变表格行属性值的方法在网页开发过程中,经常会遇到需要动态改变表格行属性值的情况。jQuery作为一个流行的JavaScript库,可以很方便地实现这一功能
jQuery技巧:掌握在div中添加标签的方法
标题:jQuery技巧:掌握在div中添加标签的方法在网页开发中,经常会遇到需要动态添加标签到页面中的情况。使用jQuery可以方便地操作DOM元素,实现快速的标签添加功能。本文将介绍如
jQuery中get和post方法的区别解析
jQuery中get和post方法的区别解析在使用jQuery来进行Ajax请求时,我们经常会用到get和post方法来获取或提交数据。虽然它们都是用来发送Ajax请求的方法,但在实际应用中有着一些
jQuery中如何实现select元素的改变事件绑定
jQuery是一个流行的JavaScript库,可以用来简化DOM操作、事件处理、动画效果等。在web开发中,经常会遇到需要对select元素进行改变事件绑定的情况。本文将介绍如何使用jQuery实
let、var和const的区别与特点:它们分别代表什么含义?
在JavaScript中,let、var和const是用于声明变量的关键字。它们各自具有不同的区别和特点。 let:
let关键字是ES6引入的,它允许我们声明一个块级作用域的变量。块级作用域是指变
JavaScript 的新数组分组方法
对数组中的项目进行分组,你可能已经做过很多次了。每次都会手动编写一个分组函数,或者使用 lodash 的 groupBy 函数。好消息是,JavaScript 现在有了分组方法,所以你再也不必这样
零基础入门Vue之画龙点睛——再探监测数据
追忆上一节:零基础入门Vue之影分身之术——列表渲染&渲染原理浅析虽然我深知,大佬告诉我”先学应用层在了解底层,以应用层去理解底层“,但Vue的数据如何检
从零搭建Vue3 + Typescript + Pinia + Vite + Tailwind CSS + Element Plus开发脚手架
项目代码以上传至码云,项目地址:https://gitee.com/breezefaith/vue-ts-scaffold 目录 前言 脚手架技术栈简介 vue3 TypeScript Pinia Tailwind CSS Element Plus vite
uni-app+vue3会遇到哪些问题
已经用 uni-app+vue3+ts 开发了一段时间,记录一下日常遇见的问题和解决办法uni-app 中的单端代码uni-app 是支持多端,如果你想让你的代码,只在部分平台使用,那么就需要用的它的
VUE3子表格嵌套分页查询互相干扰的问题解决
VUE3在表格中嵌套子表格
子表格的分页查询互相干扰的问题解决简单嵌套如果不需要做子表格的分页查询,那么可以直接在主表格中嵌套子表格,有两种方式;一种是主表格加载的同时加
NextJs 与 Tailwind 入门开发笔记
前言距离上次更新已经过去好久了,之前我在 StarBlog 博客2023年底更新一览的文章里说要使用 Next.js 来重构博客前端,最近也确实用 next.js 做了两个小项目,一个是单点认证项目
JS的垃圾回收机制
垃圾回收是计算机编程中的一个术语,用来描述查找和删除那些不再被其他对象引用的对象的处理过程。换句话说,垃圾回收是删除任何其他对象未使用的对象的过程。如果没有垃圾回收
Gin 框架之jwt 介绍与基本使用
目录 一.JWT 介绍 二.JWT认证与session认证的区别 2.1 基于session认证流程图 2.2 基于jwt认证流程图 三. JWT 的构成 3.1 header : 头部 3.2 payload : 负载 3.
详细介绍 TypeScript 函数的各种特性、用法和最佳实践
TypeScript 是一种在 JavaScript 基础上构建的编程语言,它为 JavaScript 提供了静态类型检查和更强大的面向对象编程能力。函数作为编程语言中的基本构建块,在 TypeScript 中
根据select的data-*属性更改图片img的src链接JQ实例
直接上实例代码:<img id="brandIcon" src="" /> <script language="JavaScript" type="text/javascript" > function setBeerIcon() { var classimg = $("#beer").fi
lottie 动画在 vue 中的使用
前言最近我所负责的项目中,我采用了动画效果,并开始使用 gif 来实现。然而,在实践过程中,我发现 gif 格式的动画在 git 中出现了明显的锯齿感,这让我非常困扰。为了追求更完美的
vue3+ts打开echarts的正确方式
准备工作1. 注册为百度地图开发者官网地址,然后在 应用管理 -> 我的应用 里,创建应用,创建好后复制 AK
2. 在根目录的 index.html 里引入百度地图<head> <meta charset="UTF-8
React 类组件转换为函数式
函数式的 React 组件更加现代,并支持有用的 hooks,现在流行把旧式的类组件转换为函数式组件。这篇文章总结了转换的一些通用的步骤和陷阱。通用替换定义从class (\w+) extends
vue 2实战系列 —— 复习Vue
复习Vue近期需要接手 vue 2的项目,许久未写,语法有些陌生。本篇将较全面复习 vue 2。Tip: 项目是基于 ant-design-vue-proant-design-vue-pro由于 cms 是基于这个项目开发的,所
node node-sass sass-loader版本兼容问题
相关概念sassSass是一种预处理器脚本语言,可以解释或编译成层叠样式表(CSS)。Sass包含两种语法:较旧的语法使用缩进将代码块和换行符分隔为单独的规则;较新的语法SCSS使用像CSS这
Next.js 开发指南 初始篇 | Next.js CLI
前言欢迎学习 Next.js!在学习具体的知识点之前,我们先来创建一个 Next.js 项目。创建了可运行的项目,才能在学习的时候边调试边理解,从而达到事半功倍的效果。幸运的是,Next.js
扩展 jQurey.i18n.properties 的能力来向 vue-i18n 靠齐
jQuery.i18n.properties 是 jQuery 老项目的国际化框架,其实国际化方案本质上都大同小异,都是需要用翻译函数包裹词条,然后根据词条文件来进行翻译就是使用上与其他框架不太一
vue模板的首次渲染,和重新渲染,有哪些区别?
搞明白这个,能帮助我们理解开发中出现的很多问题。一、我们先来回顾一下vue模板的渲染过程:(1)执行render函数,生成虚拟DOM。render函数是根据render、templete、el这三个选项得
直接在*.vue文件(SFC)中使用JSX/TSX渲染函数,真香!
前言在日常开发中vue的模版语法在大多数情况都能够满足我们的需求,但是在一些复杂的业务场景中使用模版语法就有些麻烦了。这个时候灵活的JSX/TSX渲染函数就能派上用场了,大多
验证码倒计时60秒的JS代码
<script src="../../public/jquery.js"></script><h4>验证码</h4><div class="regin_yan_bac"> <input type="password"> <button class="sms_click">发送验证码</butto
Apache设置反向代理解决js跨域问题
这是一个很简单的方案,通过启用Apache反向代理解决js跨域问题为什么要这么做?在现在的开发过程中大家会遇到这样一个问题:后端代码写好之后,前端的小伙伴需要将后端代码部署到本
JS操作剪贴板代码详解
javascript可以轻松操作客户端剪贴板内容,不过只适用IE5以上浏览器。javascript可以使用window.clipboardData对象处理剪贴板内容。保存到剪贴板的方法setData(param1, param
JS判断用户名及密码是否为空的方法
<script type="text/javascript"> // 验证输入不为空的脚本代码 function checkForm(form) { if(form.username.value == "") { alert("用户名不能为空!"); form.usern
简单实现js点击展开二级菜单功能
虽然,jQuery已经非常好用了,但是实际的开发项目中,还是有很多限制,比如项目组奇葩的要求,不能使用任何插件,当然,也是考虑插件占用资源,毕竟100+KB对与小型项目来说还是非常大的。我
帝国CMS 7.0后台登录验证码不显示的解决方法
针对帝国CMS7.0,有的同学开启了后台登录验证码,但是由于种种原因后台验证码没有显示,然而不填写验证码又无法登录后台,下面给大家提供一个解决方案:用工具(一定要用工具比如NOTEPA
JS生成当前页面URL二维码
在页面中加入当前页面URL的二维码,方便用户扫码到手机上无缝浏览,JS和HTML代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.
帝国cms:评论列表模板中调用热门文章或是推荐文章的js方法
后台管理评论模板里有评论的列表模板,想在评论列表模板中调用热门文章或是推荐文章,现在考虑到标签和js.长知识:动态模板无法使用标签,所以标签在这里就pass了,专心搞js----》1、
Ubuntu/Debian/CentOS系统安装Node.js软件教程
在这篇文章中,是整理比较全的Ubuntu/Debian/CentOS系统,安装最新版本Node.js的教程,目前最新的版本是10.0,但是一般我们也不要太追求最新,我们可以安装8.0或者9.0差不多。第一、U
正则表达式匹配任意字符(包括换行符)
正则表达式中,“。”(点符号)匹配的是除了换行符“\n”以外的所有字符。但有时候我们需要匹配包括换行符在内的字符,经过一番搜索,发现了几种正则表达式匹配