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)
上一篇 2022年1月19日 下午3:00
下一篇 2022年1月19日 下午4:00


相关推荐

  • encoder和decoder的区别_decode作用

    encoder和decoder的区别_decode作用I’veneverbeensurethatIunderstandthedifferencebetweenstr/unicodedecodeandencode.Iknowthatstr().decode()isforwhenyouhaveastringofbytesthatyouknowhasacertaincharacterenco…

    2022年10月6日
    7
  • Allegro PCB 转 PADS Layout

    Allegro PCB 转 PADS Layout操作系统 Windows10x64 工具 1 AllegroPCBDe legacy version16 6 2015 工具 2 PADSLayoutVX 2 3 参考 1 http bbs elecfans com jishu 460638 1 1 html 教程 参考 2 https jingyan baidu com article 4b07be3c

    2026年3月16日
    2
  • 一级倒立摆matlab仿真,一级倒立摆的Simulink仿真「建议收藏」

    一级倒立摆matlab仿真,一级倒立摆的Simulink仿真「建议收藏」一级倒立摆的Simulink仿真单级倒立摆稳定控制直线一级倒立摆系统在忽略了空气阻力及各种摩擦之后,可抽象成小车和匀质摆杆组成的系统,如图1所示。mg杆长为2u图1直线一级倒立摆系统图2控制系统结构假设小车质量M=0.5kg,匀质摆杆质量m=0.2kg,摆杆长度2l=0.6m,x(t)为小车的水平位移,θ为摆杆的角位移,。控制的目标是通过外力(t)使得摆直立向上2…

    2022年8月18日
    11
  • android 抛出FileNotFoundException异常

    android 抛出FileNotFoundException异常大家都知道,Android6.0中,某些权限属于ProtectedPermission,例如:读写手机存储权限,仅仅在AndroidManifest.xml中申明是无法真正获取到权限的,打开手机的权限管理页面,我们可以看见,读写手机存储权限栏是一个问号,这意味着App并未获取到该权限。这是访问手机存储时,会报出类似下面的错误:java.io.FileNotFoundExcept…

    2025年6月26日
    4
  • c语言匹配字符串表达式函数_java字符串匹配

    c语言匹配字符串表达式函数_java字符串匹配最近在写一个程序,需要用到字符串匹配,并且返回匹配的字符串,C语言库函数中的strtstr无法满足我的要求,只能自己写了。代码如下//stringmatchfunctionchar*matchString(constchar*buf,constchar*sub){ char*tbuf=buf; char*tsub=sub; inti=0;//tbuf…

    2022年8月21日
    8
  • Java Interface 是常量存放的最佳地点吗?

    Java Interface 是常量存放的最佳地点吗?由于 Java 编程 interface 中声明的字段在编译时会自动加上 staticfinal 的修饰符 即声明为常量 因而 interface 通常是存放常量的最佳地点 然而在 Java 编程的实际实际运用时却会产生一部份疑难问题 疑难问题的起因有两个 NO 1 是咱们所应用的常量并否则一成不变的 而是相对于变量别赋值改变 例如咱们在唯一工程初期定义常量 3 14 而由于计算精度的升高咱们估计会重新定义 3 14159 此时整个项目对此常量的引用都因该做出改变 第二 Java 编程是动态语句语言 与 c 之类的静态

    2026年3月26日
    2

发表回复

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

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