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; } }


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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 日语自动词和他动词是什么意思_日语自动词他动词总结

    日语自动词和他动词是什么意思_日语自动词他动词总结http://coffeejp.com/bbs/thread-182243-1-1.html自动词:强调自发的行为他动词:强调他人驱使的行为拿到两个动词后按照它们的构词形式可以进行区分,基本可以分为4种方法(1)两个动词都以「る」结尾时:看「る」前的那个假名(汉字除外),如果是「あ」段假名,一般是自动词;如果是「え」段假名,一般是他动词(2)两个动词一个以「る」结尾,另一个不是以「る」结尾…

    2025年7月3日
    2
  • node npm python 环境配置、安装

    node npm python 环境配置、安装node安装后,默认会自动配置环境变量,但是如果有时重装系统后,系统环境变量被重置,这时就需要重新手动配置环境变量。配置环境变量首先添加一个node的path,NODT_PATH值配置为node文件夹中的node_modules的位置,如D:\nodeJs\node_modules,然后在path中加入node安装文件夹的路径即可如D:\nodeJs。npm在出现如上系统重置问题,在工…

    2022年8月30日
    5
  • UDP 流量攻击_网络流量攻击

    UDP 流量攻击_网络流量攻击最近在群里聊天看到有人被UDP攻击我几年前也遇到过当时前任工作交接过来面临很多挑战。话又说回来凡是跳槽或主动找到你的公司都是让你去救火的。先说说UDP攻击原理很简单就是随便连接一个IP地址随便写一个端口号。IP地址存在与否并不重要。这是UDP的特性。然后发送大数据包堵塞交换机路由器。我们在局域网上模拟注意UDP不能在同一个VLAN下…

    2022年9月27日
    4
  • 最短路径四大算法「建议收藏」

    最短路径四大算法「建议收藏」熟悉的最短路算法就几种:bellman-ford,dijkstra,spfa,floyd。首先说明一点,就是关于负环的问题。bellman-ford可以用于边权为负的图中,图里有负环也可以,如果有负环,算法会检测出负环。时间复杂度O(VE);dijkstra只能用于边权都为正的图中。时间复杂度O(n2);spfa是个bellman-ford的优化算法,本质是bellman-for

    2022年6月3日
    35
  • 宽字节注入是什么_sqlmap宽字节注入

    宽字节注入是什么_sqlmap宽字节注入在一个CTF练习的网站,看到了一个宽字节注入的题目,我是一个web萌新,没什么经验,一开始也没有想到是宽字节,还是一位朋友给我提到的,让我猛然大悟,咳咳。。。做一些总结。练习题目网站地址:http://ctf.bugku.com。一、了解一下宽字节注入原理前提:1、我们都知道,在防御SQL注入的时候,大多说都是使用的过滤特殊字符,或者使用函数将特殊字符转化为实体,就是说在字符转义,添加‘\’。这里…

    2022年10月14日
    3
  • 网络电视测试软件,2018三款智能电视屏幕检测软件,当贝市场良心推荐「建议收藏」

    2018三款智能电视屏幕检测软件,当贝市场良心推荐2018年03月01日18:08作者:厂商投稿编辑:鸿雁分享买电视后,很多朋友会发现,虽然电视是从厂家那里发的最新的货,但还是有不同层次的瑕疵,但电视机的保修期有限,该怎么查出所有电视上存在的问题呢?小编这里就整合出了三个软件,可以查出电视坏点、漏光等问题,为大家造福。智能电视用户可以在当贝市场中安装以下软件检测。第一个:电视屏幕大师电视屏幕大师…

    2022年4月15日
    101

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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