文章来源:jquery教程 - http://www.jq-school.com/Show.aspx?id=312
原生JavaScript技巧大收集(81~90)这篇文章要感谢jquery学堂1群的网友【湖北-Script】提供了一些实用的代码片段,希望网友们有也可以分享出来。。。
81、原生JavaScript用正则表达式提取页面代码中所有网址
var aa = document.documentElement.outerHTML.match(/(url\(|src=|href=)[\"\']*([^\"\'\(\)\<\>\[\] ]+)[\"\'\)]*|(http:\/\/[\w\-\.]+[^\"\'\(\)\<\>\[\] ]+)/ig).join("\r\n").replace(/^(src=|href=|url\()[\"\']*|[\"\'\>\) ]*$/igm,""); alert(aa)
82、原生JavaScript用正则表达式清除相同的数组(低效率)
Array.prototype.unique=function(){ return this.reverse().join(",").match(/([^,]+)(?!.*\1)/ig).reverse(); }
83、原生JavaScript用正则表达式清除相同的数组(高效率)
String.prototype.unique=function(){ var x=this.split(/[\r\n]+/); var y=''; for(var i=0;i<x.length;i++){ if(!new RegExp("^"+x[i].replace(/([^\w])/ig,"\\$1")+"$","igm").test(y)){ y+=x[i]+"\r\n" } } return y }
84、原生JavaScript用正则表达式按字母排序,对每行进行数组排序
function SetSort(){ var text=K1.value.split(/[\r\n]/).sort().join("\r\n");//顺序 var test=K1.value.split(/[\r\n]/).sort().reverse().join("\r\n");//反序 K1.value=K1.value!=text?text:test; }
85、原生JavaScript字符串反序
function IsReverse(text){ return text.split('').reverse().join(''); }
86、原生JavaScript用正则表达式清除html代码中的脚本
function clear_script(){ K1.value=K1.value.replace(/<script.*?>[\s\S]*?<\/script>|\s+on[a-zA-Z]{3,16}\s?=\s?"[\s\S]*?"|\s+on[a-zA-Z]{3,16}\s?=\s?'[\s\S]*?'|\s+on[a-zA-Z]{3,16}\s?=[^ >]+/ig,""); }
87、原生JavaScript动态执行JavaScript脚本
function javascript(){ try{ eval(K1.value); }catch(e){ alert(e.message); } }
88、原生JavaScript动态执行VBScript脚本
function vbscript(){ try{ var script=document.getElementById("K1").value; if(script.trim()=="")return; window.execScript('On Error Resume Next \n'+script+'\n If Err.Number<>0 Then \n MsgBox "请输入正确的VBScript脚本!",48,"脚本错误!" \n End If',"vbscript") }catch(e){ alert(e.message); } }
89、原生JavaScript实现金额大写转换函数
function transform(tranvalue) { try { var i = 1; var dw2 = new Array("", "万", "亿"); //大单位 var dw1 = new Array("拾", "佰", "仟"); //小单位 var dw = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //整数部分用 //以下是小写转换成大写显示在合计大写的文本框中 //分离整数与小数 var source = splits(tranvalue); var num = source[0]; var dig = source[1]; //转换整数部分 var k1 = 0; //计小单位 var k2 = 0; //计大单位 var sum = 0; var str = ""; var len = source[0].length; //整数的长度 for (i = 1; i <= len; i++) { var n = source[0].charAt(len - i); //取得某个位数上的数字 var bn = 0; if (len - i - 1 >= 0) { bn = source[0].charAt(len - i - 1); //取得某个位数前一位上的数字 } sum = sum + Number(n); if (sum != 0) { str = dw[Number(n)].concat(str); //取得该数字对应的大写数字,并插入到str字符串的前面 if (n == '0') sum = 0; } if (len - i - 1 >= 0) { //在数字范围内 if (k1 != 3) { //加小单位 if (bn != 0) { str = dw1[k1].concat(str); } k1++; } else { //不加小单位,加大单位 k1 = 0; var temp = str.charAt(0); if (temp == "万" || temp == "亿") //若大单位前没有数字则舍去大单位 str = str.substr(1, str.length - 1); str = dw2[k2].concat(str); sum = 0; } } if (k1 == 3) //小单位到千则大单位进一 { k2++; } } //转换小数部分 var strdig = ""; if (dig != "") { var n = dig.charAt(0); if (n != 0) { strdig += dw[Number(n)] + "角"; //加数字 } var n = dig.charAt(1); if (n != 0) { strdig += dw[Number(n)] + "分"; //加数字 } } str += "元" + strdig; } catch(e) { return "0元"; } return str; } //拆分整数与小数 function splits(tranvalue) { var value = new Array('', ''); temp = tranvalue.split("."); for (var i = 0; i < temp.length; i++) { value[i] = temp[i]; } return value; }
90、原生JavaScript常用的正则表达式大收集
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配 HTML 标记的正则表达式:<(.*)>.*<\/\1>|<(.*) \/> 匹配首尾空格的正则表达式:(^\s*)|(\s*$) 匹配 IP 地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g 匹配 Email 地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址 URL 的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? sql 语句:^(select|drop|delete|create|update|insert).*$ 非负整数:^\d+$ 正整数:^[0-9]*[1-9][0-9]*$ 非正整数:^((-\d+)|(0+))$ 负整数:^-[0-9]*[1-9][0-9]*$ 整数:^-?\d+$ 非负浮点数:^\d+(\.\d+)?$ 正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$ 英文字符串:^[A-Za-z]+$ 英文大写串:^[A-Z]+$ 英文小写串:^[a-z]+$ 英文字符数字串:^[A-Za-z0-9]+$ 英数字加下划线串:^\w+$ E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$ 邮政编码:^[1-9]\d{5}$ 电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$ 手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$ 双字节字符(包括汉字在内):^\x00-\xff 匹配首尾空格:(^\s*)|(\s*$) 匹配 HTML 标记:<(.*)>.*<\/\1>|<(.*) \/> 匹配空行:\n[\s| ]*\r 提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)? 提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)? 提取信息中的 IP 地址:(\d+)\.(\d+)\.(\d+)\.(\d+) 提取信息中的中国手机号码:(86)*0*13\d{9} 提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} 提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14} 提取信息中的中国邮政编码:[1-9]{1}(\d+){5} 提取信息中的浮点数(即小数):(-?\d*)\.?\d+ 提取信息中的任何数字 :(-?\d*)(\.\d+)? IP:(\d+)\.(\d+)\.(\d+)\.(\d+) 电话区号:^0\d{2,3}$ 腾讯 QQ 号:^[1-9]*[1-9][0-9]*$ 帐号(字母开头,允许 5-16 字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$
相关推荐
原生JavaScript100例
基于原生JavaScript实现的扫雷小游戏 基于原生JavaScript实现的扫雷小游戏 基于原生JavaScript实现的扫雷小游戏 基于原生JavaScript实现的扫雷小游戏 基于原生JavaScript实现的扫雷小游戏 基于原生JavaScript实现的...
《原生JavaScript飞机大战》是一款基于JavaScript开发的经典小游戏,它为初学者提供了一个良好的实践平台,帮助提升JavaScript编程技能。这款游戏虽然功能相对简单,但涵盖了基础的编程概念和技巧,对于学习...
标题中提到的“分享10个原生JavaScript技巧”,指的是文章将介绍JavaScript编程中十种有用的技巧,这些技巧通常是编程者在进行项目开发时常用到的,有助于提升开发效率或代码质量。原生JavaScript指的是不依赖任何第...
在原生JavaScript的世界里,掌握各种属性的用法是提升编程技能的关键。在这个小练习中,我们将探讨如何利用JavaScript实现动画效果、创建轮播图以及利用页面存储属性等实际应用场景。下面,我们将深入讨论这些知识点...
在网页设计中,表单是不可或缺的元素,用于收集用户数据。原生JavaScript开发能帮助我们更好地控制和美化这些表单,使其更具交互性和吸引力。本文将深入探讨如何利用JavaScript来提升表单的用户体验,使其“亮起来”...
90、原生JavaScript常用的正则表达式大收集 91、原生JavaScript实现窗体改变事件resize的操作(兼容所以的浏览器) 92、原生JavaScript用正则清除空格分左右 93、原生JavaScript判断变量是否空值 94、原生JavaScript...
基于原生JavaScript完成的网页端2048游戏,适配移动端,绑定键盘和鼠标滑动事件 基于原生JavaScript完成的网页端2048游戏,适配移动端,绑定键盘和鼠标滑动事件 基于原生JavaScript完成的网页端2048游戏,适配移动端...
《打飞机小游戏原生JavaScript版》是一款基于HTML5技术开发的、模仿微信内置经典小游戏“打飞机”的在线娱乐项目。这款游戏充分利用了JavaScript语言的强大功能,实现了在PC端运行的轻量级互动体验,旨在为玩家提供...
原生javascript页面图片懒加载效果
原生javascript实现ajax发送pos请求,这样可以脱离jquery框架,
JavaScript原生拼图游戏是一种基于Web的互动娱乐项目,它利用HTML、JavaScript和CSS这三种核心技术来构建。在这个游戏中,用户可以通过移动拼图块来重组一幅图像,游戏提供了简单、中等和困难三种不同的难度等级,...
《2048小游戏 - 原生JavaScript实现》 2048是一款风靡全球的数字拼图游戏,由19岁的意大利开发者Gabriele Cirulli在2014年创造。这款游戏的目标是通过合并相同数字的方块,最终达到2048这个数字。原生JavaScript...
- **体积**: jQuery库比原生JavaScript代码大,对于小项目可能增加加载时间。但可以通过使用精简版的jQuery或模块化工具来解决。 ### 结合使用 在实际开发中,开发者通常会根据需求结合使用jQuery和原生JavaScript...
原生JavaScript轮播图特效
"一种基于原生JavaScript的焦点轮播图简易实现" 本文主要讲述了基于原生JavaScript的焦点轮播图简易实现方法,该方法可以简化轮播图的实现过程,不需要使用第三方框架和插件,使得JavaScript初学者也可以轻松实现...
在这个场景中,我们关注的是如何使用原生JavaScript实现一个3D轮播动画。3D轮播动画是一种吸引用户注意力并展示多张图片或内容的有效方式,通常用于网站的首页或产品展示区域。 首先,我们要理解3D轮播动画的核心...
在网页上实现类似Excel的功能,原生JavaScript是一个常见的选择,因为它是所有浏览器都支持的基础脚本语言,无需依赖外部库。下面将详细讲解如何利用原生JavaScript实现这一目标,以及可能涉及的技术点。 首先,...