JS经常使用正則表達式【分享】

JS经常使用正則表達式【分享】

大家好,又见面了,我是全栈君。

工作中JS经常使用表达式:
1)2010-09-10类型日期校验
2)推断正整数。字符串长度
3)校验长度,和是否空
4)推断字符串是否为空
5)比較字符大小
6)推断字符串长度
7)推断格式是否为Email格式
8)推断是否为两位小数
9)推断是否包括中文
10)推断是否包括字符串
11)推断是否为数字
12)推断是否为正整数
13)推断英文字符跟数字组合
14)IP格式推断

Ext.require(['*']);

	/***
	 * 日期校验
	 * @param {} num
	 * @return {}
	 */
	function testDate(newdate){
		 alert(newdate);
	    var startime=Ext.util.Format.date(newdate,'Y-m-d H:m:s');
	    var startDateTemp = startime.split(" ");
	    reg=/^([1-2]\d{3})[\/|\-](0?

[1-9]|10|11|12)[\/|\-]([1-2]?

[0-9]|0[1-9]|30|31)$/; if(!startDateTemp[0].match(reg)){ Ext.Msg.alert("系统提示","请选择正确的日期格式如:2010-09-10!!"); return false; } return true; } //推断正整数。字符串长度 function checkNumAndLen(abc,lenNum) { //推断空 if(!checkNull(abc)) { //推断正整数 var reg = /^[0-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?

[0-9]*$/ if (!abc.match(reg)) { return false; } return checkLenth(abc,lenNum); } return false; } //推断正整数,字符串长度 function checkNumAndNumLen(abc,lenNum) { //推断空 if(!checkNull(abc)) { //推断正整数 var pattern = /^[0-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?[0-9]*$/ if (pattern.test(abc)){ if(abc.length <= lenNum){ return false; }else{ return true; } }else{ return true; } }else{ return true; } } //校验长度。和是否空 //校验成功返回true 失败false function checkNullAndLength(abc,num) { if(!checkNull(abc)) { return checkLenth(abc,num); } return false; } //推断是否为空 function checkNull(abc) { if(abc == null || abc.replace(/^\s\s*/, '' ).replace(/\s\s*$/, '' ).length == 0) { return true; } return false; } /** * 比較大小 * @param from * @param to * @returns {Number} */ function compare(from,to){ if(from>to){ return 1; }else if(from==to){ return 0; }else if(from<to){ return -1; } } //推断字符串长度 function checkLenth(abc,lenNum) { if(lenNum == 0 || abc == null) { return true; } var l = 0; var a = abc.split(""); for (var i=0;i<a.length;i++) { if (a[i].charCodeAt(0)<299) { l++; } else { l+=2; } } if(l > lenNum) { return false; } return true; } //电话号码 function checkPhone(strNumber) { var pattern = /^\d{0,20}$/; if(strNumber==null||strNumber==""){ return true; }else{ if(pattern.test(strNumber)){ return true; } } return false; } //Email function checkEmail(strEmail) { var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; if(pattern.test(strEmail)) return true; return false; } //2位小数 function isDecimal(value){ if(value == null) return false; var v = value; var pattern = /^[1-9]+\.\d{1,2}$/; flag = pattern.test(v); if(!flag){ //obj.value = obj.value + ".00"; //obj.select(); //obj.focus(); return false; }else{ return true; } } //是否包括中文 //true: 包括中文 false:不包括中文 function checkChinese(str){ if (escape(str).indexOf("%u") != -1) { return true; } else { return false; } } //是否包括特殊字符 function checkQuote(str){ var items = new Array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "{", "}", "[", "]", "(", ")","'"); items.push(":", ";", "’", "|", "\\", "<", ">", "?", "/", "<<", ">>", "||", "//"); items.push("admin", "administrators", "administrator"); items.push("select", "delete", "update", "insert", "create", "drop", "alter", "trancate"); str = str.toLowerCase(); for (var i = 0; i < items.length; i++) { if (str.indexOf(items[i]) >= 0) { return true; } } return false; } //是否是数字 function checkNum(str){ var pattern = /^[0-9]*$/; if(pattern.test(str)){ return false; }else{ return true; } } //是否是正整数 function checkPositiveNum(str){ //推断空 if(!checkNull(str)) { //推断正整数 var reg = /^[1-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?[0-9]*$/ if (str.match(reg)){ return false; }else{ return true; } } return true; } /** * 推断文件格式是否正确 * @param {Object} str * @return {TypeName} */ function checkFile(str){ //验证图片文件的正则 var img_reg = /\.([vV][mM]){1}$/; if(str.match(img_reg)){ return false; }else{ return true; } } /** * 推断文件格式是否正确 * @param {Object} str * @return {TypeName} */ function checkFileExcel(str){ //验证图片文件的正则 var img_reg = /\.([xX][lL][sS]){1}$/; if(str.match(img_reg)){ return false; }else{ return true; } } //仅仅能是英文字符跟数字组合 function checkatandnumber(str,strlength){ var qtype=/^[A-Za-z0-9]+$/; if(str.match(qtype)){ if(!checkLenth(str,strlength)){ return false; }else{ return true; } }else{ return false; } } /** * IP格式推断 * @param {Object} str * @param {Object} strlength * @return {TypeName} */ function checkIp(str){ var pattern = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; if(pattern.test(str)){ return false; }else{ return true; } }


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116568.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CNN做序列标注问题(tensorflow)

    CNN做序列标注问题(tensorflow)

    2021年11月20日
  • 服务器网卡配置_如何设置在不同的网段访问服务器

    服务器网卡配置_如何设置在不同的网段访问服务器配置详解配置DNS修改对应网卡的DNS的配置文件# vi /etc/resolv.conf修改以下内容,可以设置多个:nameserver 202.106.0.

  • Java开发框架!高级java工程师简历模板[通俗易懂]

    第一部分必读系列:01.学习算法和刷题的思路指南02.学习数据结构和算法读什么书03.动态规划解题套路框架04.动态规划答疑篇05.动态规划答疑篇06.回溯算法解题套路框架07.二分查找解题套路框架08.滑动窗口解题套路框架09.双指针技巧总结10.BFS算法套路框架11.Linux的进程、线程、文件描述符是什么12.Git/SQL/正则表达式的在线练习平台第二部分动态规划系列:01.动态规划设计:最长递增子序列02.经典动态规划:0-1背包问题03.经典动态规划:完

  • 移动端开发规范

    移动端开发规范移动端开发规范引言:最近得空,整理一些平时工作中要求的开发规范,浅薄之处还请大家多指教。目录移动端开发规范代码规范基本原则代码清晰一致性通用规范类命名方法命名变量命名常量命名枚举类型命名图片命名通用规范通用设计规范开屏页版本号版本检查开屏页广告推送通用测试用例及处理规范规范用例数据埋点规范…

  • 阿基里斯追乌龟的思考,空间,时间,速度非连续

    阿基里斯追乌龟的思考,空间,时间,速度非连续高中的时候才接触和了解,诺阿基里斯追乌龟的悖论,一直萦绕在自己的心头。在上大学的时候,学习了微积分,自己以为自己懂了,但是最近又思考的时候,发现大学里的那种想法还是存在着一些矛盾,自己没有意识到。再度思考,将自己的想法记录下来,如果存在问题,还请多多指教。按照积分将追逐的过程映射为无限级数的和,然后极限求解,但是极限本身就是一个无限接近但是不可到达的过程,因此在我看来…

  • Sublime Text3 如何安装、删除及更新插件

    Sublime Text3 如何安装、删除及更新插件1、打开SublimeText3,按Ctrl+`(和qq输入法快捷切换冲突,可以修改qq的输入法切换热键)2、复制粘黏以下代码添加至命令行,然后回车(功能:安装插件的工具,有了它,以后安装其他插件更方便)importurllib.request,os;pf=’PackageControl.sublime-package’;ipp=sublime.inst…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号