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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • easyui window refresh 刷新两次解决办法

    easyui window refresh 刷新两次解决办法这样写刷新两次$("#changeMwsAccountWin").window(‘refresh’,"adsfasdf.php"’);$("#changeMwsAccountWin").window(‘open’); 这样写刷新一次$("#changeMwsAccountWin").window(‘open’);$("#changeMwsAccountWin").wi…

    2022年7月18日
    16
  • python计算坐标点欧式距离_计算Python Numpy向量之间的欧氏距离实例

    python计算坐标点欧式距离_计算Python Numpy向量之间的欧氏距离实例计算PythonNumpy向量之间的欧氏距离,已知vec1和vec2是两个Numpy向量,欧氏距离计算如下:importnumpydist=numpy.sqrt(numpy.sum(numpy.square(vec1-vec2)))或者直接:dist=numpy.linalg.norm(vec1-vec2)#补充知识:Python中计算两个数据点之间的欧式距离,一个点到数据集中其他点的距离之和#如下所示:#计算数两个数据点之间的欧式距离importn

    2022年6月19日
    54
  • 关于mysql 出现 1264 Out of range value for column 错误的解决办法

    关于mysql 出现 1264 Out of range value for column 错误的解决办法

    2021年10月27日
    64
  • 深度强化学习——DQN「建议收藏」

    DQN(DeepQ-Learning)可谓是深度强化学习(DeepReinforcementLearning)的开山之作,是将深度学习与增强学习结合起来从而实现从感知(Perception)到动作(Action)的端对端(End-to-end)学习的一种全新的算法。

    2022年4月6日
    234
  • MD5加密概述,原理及实现

    MD5加密概述,原理及实现MD5概述:MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要(32位的数字字母混合码)。MD5主要特点:不可逆,相同数据的MD5值肯定一样,不同数据的MD5值不一样(一个MD5理论上的确是可能对应无数多个原文的,因为MD5是有限多个的而原文可以是无数多个。比如主流使用的MD5将任意长度的“字节串映射为一个128bit的大整数…

    2022年7月11日
    23
  • keil中debug的使用_keil 多线程

    keil中debug的使用_keil 多线程在点这个之前要先烧写一次程序,不然这一次修改后的程序没有烧进单片机里然后在debug模式下点运行,然后再点停止如果代码有问题就会停在有问题的地方不断循环多试几次如果都停在同一个地方就是那里的代码有问题…

    2022年10月15日
    2

发表回复

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

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