JavaScript中常用的正则表达式整理

JavaScript中常用的正则表达式整理

匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

匹配空白行的正则表达式:ns*r

匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? />

匹配首尾空白字符的正则表达式:^s*|s*$

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:[a-zA-z]+://[^s]*

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

匹配国内电话号码:d{3}-d{8}|d{4}-d{7} //匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,} //腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]d{5}(?!d) // 中国邮政编码为6位数字

匹配身份证:d{15}|d{18} // 评注:中国的身份证为15位或18位

匹配ip地址:d+.d+.d+.d+

匹配特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)

匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:

只能输入数字:^[0-9]*$
只能输入n位的数字:^d{n}$
只能输入至少n位数字:^d{n,}$
只能输入m-n位的数字:^d{m,n}$
只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$
只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
只能输入有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
只能输入非零的正整数:^+?[1-9][0-9]*$
只能输入非零的负整数:^-[1-9][0-9]*$
只能输入长度为3的字符:^.{3}$
只能输入由26个英文字母组成的字符串:^[A-Za-z]+$
只能输入由26个大写英文字母组成的字符串:^[A-Z]+$
只能输入由26个小写英文字母组成的字符串:^[a-z]+$
只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
只能输入由数字、26个英文字母或者下划线组成的字符串:^w+$
验证用户密码:^[a-zA-Z]w{5,17}$正确格式为:以字母开头,长度在6-18之间,
只能包含字符、数字和下划线。
验证是否含有^%&’,;=?KaTeX parse error: Expected group after '^' at position 8: ”等字符:“[^̲%&',;=?x22]+”
只能输入汉字:^[u4e00-u9fa5],{0,}$
验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$ // 正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
验证身份证号(15位或18位数字):^d{15}|d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ //正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ //正确格式为:“01”“09”和“1”“31”。
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

1
String.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}
(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现

String.prototype.trim = function() {
	return this.replace(/(^s*)|(s*$)/g, “”);
}

(3)应用:利用正则表达式分解和转换IP地址

function IP2V(ip) { //IP地址转换成对应数值
	re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
	if(re.test(ip)) {
		return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
	}
	else {
		throw new Error(”Not a valid IP address!”)
	}
}

(4)应用:从URL地址中提取文件名的javascript程序

s=”http://www.9499.net/page1.htm”;
s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″) ; //Page1.htm

(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文:οnkeyup=”value=”/blog/value.replace(/["^u4E00-u9FA5]/g,”) ”

onbeforepaste=”clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,”))”

用正则表达式限制只能输入全角字符: οnkeyup=”value=”/blog/value.replace(/["^uFF00-uFFFF]/g,”) ”

onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^uFF00-uFFFF]/g,”))”
用正则表达式限制只能输入数字:οnkeyup=”value=”/blog/value.replace(/["^d]/g,”) “onbeforepaste= “clipboardData.setData

(‘text’,clipboardData.getData(‘text’).replace(/[^d]/g,”))”
用正则表达式限制只能输入数字和英文:οnkeyup=”value=”/blog/value.replace(/[W]/g,””) “onbeforepaste=”clipboardData.setData

(‘text’,clipboardData.getData(‘text’).replace(/[^d]/g,”
中正则表达式,js去掉html标记,去掉字符,截取字符(2009-01-11 10:20:14)
2007-07-08 15:26

1,得到网页上的链接地址:

1
string matchString = @">]+href=\s*(?:’(?[’]+)’|""(?[""]+)""|(?[>\s]+))\s*[^>]*>";
2,得到网页的标题:

1
string matchString = @"(?.*)";<br> 3,去掉网页中的所有的html标记:</p> <p>1<br> string temp = Regex.Replace(html, “<[^>]*>”, “”); //html是一个要去除html标记的文档</p> <p>java 中去掉网页中的所有标签<br> 1<br> str = str.replaceAll("<[^>]<em>>", “”);<br> 4, string matchString = @"([\S\s\t]</em>?)";</p> <p>5,js去掉所有html标记的函数:</p> <pre><code>function delHtmlTag(str) { return str.replace(/<\/?.+?>/g,"");//去掉所有的html标记 } </code></pre> <p>这个可能IE5会错,那用这个,梅花的:</p> <pre><code>function delHtmlTag(str) { return str.replace(/<[^>]+>/g,"");//去掉所有的html标记 } </code></pre> <p>校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串</p> <pre><code>function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true } </code></pre> <p>来源:正则匹配空格的问题</p> <p>字符串内字符键有空格,但是空格的数量可能不一致,通过正则将空格的个数统一变为一个。</p> <p>例如:蓝 色 理 想</p> <p>变成:蓝 色 理 想</p> <p>aobert的正则:</p> <pre><code><script type="text/javascript"> var str="蓝 色 理 想" var reg=/\s+/g str = str.replace(reg," ") document.write(str) </script> </code></pre> <p>判断字符串是不是由数字组成<br> 来源:有没有简单的方法判断字符串由数字组成?</p> <p>这个正则比较简单,写了一个测试</p> <pre><code><script type="text/javascript"> function isDigit(str){ var reg = /^\d*$/; return reg.test(str); } var str = "7654321"; document.write(isDigit(str)); var str = "test"; document.write(isDigit(str)); </script> </code></pre> <p>电话号码正则<br> 来源:想问一下关于电话号码的正则判断</p> <p>:求一个验证电话号码的JS正则</p> <p>/^\d{3,4}-\d{7,8}(-\d{3,4})?$/区号必填为3-4位的数字,区号之后用“-”与电话号码连接</p> <p>^\d{3,4}-电话号码为7-8位的数字</p> <p>\d{7,8}分机号码为3-4位的数字,非必填,但若填写则以“-”与电话号码相连接</p> <p>(-\d{3,4})?手机号码正则表达式<br> 正则验证手机号,忽略前面的0,支持130-139,150-159。忽略前面0之后判断它是11位的。</p> <p>cloeft的正则:</p> <p>/^0*(13|15)\d{9}$/ ^0*匹配掉开头任意数量的0。</p> <p>由于手机号码是13任意数字9位,和15任意数字9位,所以可以用(13|15)\d{9}匹配。</p> <p>测试代码如下:</p> <pre><code>function testReg(reg,str){ return reg.test(str); } var reg = /^0*(13|15)\d{9}$/; var str = '13889294444'; var str2 = '12889293333'; var str3 = '23445567'; document.write(testReg(reg,str)+'<br />'); document.write(testReg(reg,str2)+'<br />'); document.write(testReg(reg,str3)+'<br />'); </code></pre> <p>使用正则表达式实现删除字符串中的空格:</p> <p>代码以及测试代码如下:</p> <p>测试的结果如下:</p> <p>length:11<br> ltrim length:10<br> rtrim length:10<br> trim length:9 限制文本框只能输入数字和小数点等等<br> 来源:文本框输入限制的问题????</p> <p>只能输入数字和小数点</p> <p><code>var reg = /^\d*\.?\d{0,2}$/</code> 开头有若干个数字,中间有0个或者一个小数点,结尾有0到2个数字。</p> <p>只能输入小写的英文字母和小数点,和冒号,正反斜杠(:./)</p> <p>var reg = /[a-z./\:]+/; a-z包括了小写的英文字母,.是小数点,/和\分别是左右反斜线,最后是冒号。整个组成一个字符集和代码任一均可,最后在加上+,1或者多个。</p> <p>替换小数点前内容为指定内容<br> 来源:求一正则表达式!</p> <p>请问 怎么把这个字符串的小数点前面的字符替换为我自定义的字符串啊?<br> 例如:infomarket.php?id=197 替换为 test.php?id=197<br> 应该可以把第一个点“.”之前的所有单词字符替换为test就可以了。我写的正则如下:</p> <pre><code><script type="text/javascript"> var str = "infomarket.php?id=197"; var reg = /^\w*/ig; //匹配字符串开头的任意个单词字符 str = str.replace(reg,'test'); document.write(str); </script> </code></pre> <p>只匹配中文的正则表达式</p> <p>前两天看的《JavaScript开发王》里恰好有中文的unicode范围,正则如下:</p> <p>/[\u4E00-\u9FA5\uf900-\ufa2d]/ 写了一个简单的测试,会把所有的中文替换成“哦”。</p> <p>返回字符串的中文字符个数<br> 来源:有没返回中文字符字节的函数!</p> <p>先去掉非中文字符,再返回length属性。函数以及测试代码如下:</p> <pre><code><script type="text/javascript"> function cLength(str){ var reg = /[^\u4E00-\u9FA5\uf900-\ufa2d]/g; //匹配非中文的正则表达式 var temp = str.replace(reg,''); return temp.length; } var str = "中文123"; document.write(str.length+'<br />'); document.write(cLength(str)); </script> </code></pre> <p>结果:</p> <p>5<br> 2</p> <p>中文两个,数字三个,正确。</p> <p>下面的测试也正确。</p> <p>1<br> 2<br> 3<br> var str = “中文123tets@#!#%$#[][{}”;<br> document.write(str.length+’<br>’);<br> document.write(cLength(str));<br> 正则表达式取得匹配IP地址前三段<br> 来源:如何用正则取IP前3段</p> <p>192.168.118.101,192.168.118.72, 192.168.118.1都替换成:192.168.118</p> <p>只要匹配掉最后一段并且替换为空字符串就行了,正则如下:</p> <p>/.\d{1,3}$/ 匹配结尾的.n,.nn或者.nnn。</p> <p>测试代码如下:</p> <pre><code>function replaceReg(reg,str){ return str.replace(reg,'') } </code></pre> <pre><code>var reg = /\.\d{1,3}$/; var str = '192.168.118.101'; var str2 = '192.168.118.72'; var str3 = '192.168.118.1'; document.write(replaceReg(reg,str)+'<br />'); document.write(replaceReg(reg,str2)+'<br />'); document.write(replaceReg(reg,str3)+'<br />'); </code></pre> <p>相似的有,这个帖子里有一个验证IP地址的方法:求检验MAC地址的正则表达例子</p> <p>匹配</p> <ul> <li> 与 <ul> <li> 之间的内容 <br> 来源:请教个正则的小问题吧 </li> </ul> </li> </ul> <p></p> <ul> <li> safsf <ul> <li> safsf </li> </ul> <ul> <li> safsf </li> </ul> </li> </ul> <p>用正则可以得到 </p> <ul> <li> 起到下个 <ul> <li> 之间的内容。 </li> </ul> </li> </ul> <p></p> <p>正则如下:</p> <p>/</p> <ul> <li> [\s\S]+? <ul> <li> /i 首先匹配两侧的ul标签,中间的[\s\S]+?可以匹配一个或者多个任意字符,一定要非贪婪,否则会匹配 <ul> <li> safsf <ul> <li> safsf </li> </ul> <ul> <li> 。 </li> </ul> </li> </ul> </li> </ul> </li> </ul> <p></p> <p>用正则表达式获得文件名<br> 来源:C:\006.jpg</p> <p>c:\images\tupian\006.jpg</p> <p>可能是直接在盘符根目录下,也可能在好几层目录下,要求替换到只剩文件名。</p> <p>xlez的正则如下:</p> <p>/[^\/]*[\/]+/g 首先匹配非左右斜线字符0或多个,然后是左右斜线一个或者多个。形如“xxx/”或者“xxx\”或者“/”或者“\”</p> <p>函数以及测试代码:</p> <pre><code><script type="text/javascript"> function getFileName(str){ var reg = /[^\\\/]*[\\\/]+/g; //xxx\或者是xxx/ str = str.replace(reg,''); return str; } var str = "c:\\images\\tupian\\006.jpg"; document.write(getFileName(str)+'<br />'); var str2 = "c:/images/tupian/test2.jpg"; document.write(getFileName(str2)); </script> </code></pre> <p>注意,\需要转义。</p> <p>绝对路径变相对路径<br> 来源:讨论一个正则</p> <p>将转换为:。</p> <p>其中网址可能改变,例如http://localhost等等。</p> <p>cloudchen的正则:</p> <p>/http://[^/]+/ 首先是http://,然后[^/]+找过1个或者多个非/字符,因为遇到第一个/表示已经到目录了,停止匹配。</p> <p>测试代码如下:</p> <pre><code><script type="text/javascript"> var str = '<IMG height="120" width="800" \src="http://23.123.22.12/image/somepic.gif">'; var reg = /http:\/\/[^\/]+/; str = str.replace(reg,""); alert(str) </script> </code></pre> <p>用户名正则</p> <p>用于用户名注册,,用户名只 能用 中文、英文、数字、下划线、4-16个字符。</p> <p>hansir和解决方案弄成正则:</p> <p><code>/^[\u4E00-\u9FA5\uf900-\ufa2d\w]{4,16}$/</code> 中文字符或者单词字符,4到16个。实现4到16结成到正则里的关键就是开始^和结束$,这就等于整个字符串只能有这些匹配的内容,不能有多余的。</p> <p>函数和测试代码如下:</p> <pre><code><script type="text/javascript"> function isEmail(str){ var reg = /^[\u4E00-\u9FA5\uf900-\ufa2d\w]{4,16}$/; return reg.test(str); } var str = '超级无敌用户名regExp'; var str2 = '捣乱的@'; var str3 = '太短' var str4 = '太长longlonglonglonglonglonglonglong' document.write(isEmail(str)+'<br />'); document.write(isEmail(str2)+'<br />'); document.write(isEmail(str3)+'<br />'); document.write(isEmail(str4)+'<br />'); </script> </code></pre> <p>匹配英文地址</p> <p>规则如下:<br> 包含 “点”, “字母”,“空格”,“逗号”,“数字”,但开头和结尾不能是除字母外任何字符。</p> <p>[.a-zA-Z\s,0-9]这个字符集就实现了字母,空格,逗号和数字。最终正则如下:</p> <p><code>/^[a-zA-Z][\.a-zA-Z\s,0-9]*?[a-zA-Z]+$/</code> 开头必须有字母,结束也必须是一个以上字母。测试代码如下:</p> <pre><code><script type="text/javascript"> function testReg(reg,str){ return reg.test(str); } var reg = /^[a-zA-Z][\.a-zA-Z\s,0-9]*?[a-zA-Z]+$/; var str = 'No.8,ChangAn Street,BeiJing,China'; var str2 = '8.No,ChangAn Street,BeiJing,China'; var str3 = 'No.8,ChangAn Street,BeiJing,China88'; document.write(testReg(reg,str)+'<br />') document.write(testReg(reg,str2)+'<br />') document.write(testReg(reg,str3)+'<br />') </script> </code></pre> <p>正则匹配价格</p> <p>价格的格式应该如下:</p> <p>开头数字若干位,可能有一个小数点,小数点后面可以有两位数字。hansir给出的对应正则如下:</p> <p>/^(\d*.\d{0,2}|\d+).*$/ hansir给出的测试代码如下:</p> 无标题文档 身份证号码的匹配 来源:关于正则的,大家帮帮忙,急,在线等 <p>身份证号码可以是15位或者是18位,其中最后一位可以是X。其它全是数字,正则如下:</p> <p>/^(\d{14}|\d{17})(\d|[xX])$/ 开头是14位或者17位数字,结尾可以是数字或者是x或者是X。</p> <p>测试代码如下:</p> <pre><code><script type="text/javascript"> function testReg(reg,str){ return reg.test(str); } var reg = /^(\d{14}|\d{17})(\d|[xX])$/; var str = '123456789012345';//15位 var str2 = '123456789012345678';//18位 var str3 = '12345678901234567X';//最后一位是X var str4 = '1234';//位数不对 document.write(testReg(reg,str)+'<br />'); document.write(testReg(reg,str2)+'<br />'); document.write(testReg(reg,str3)+'<br />'); document.write(testReg(reg,str4)+'<br />'); </script> </code></pre> <p>要求文本有指定行数</p> <p>匹配至少两行的字符串,每行都为非空字符。</p> <p>只要匹配到[\n\r]就表示有换行了,再保证换行的两段都不是空字符就可以了。正则如下:</p> <p><code>/\S+?[\n\r]\S+?/i</code> 这个正则的应用应该是用在textarea里,如果是如下要求:可以支持所有字符,中间可带空格,可以包括英文、数字、中文、标点</p> <p>这样的话,只要针对空格再改一下就行了。(按照非空的要求,上面有不能匹配“字符+空格+换行+字符”的字符串)。修改如下:</p> <p>/\S+?\s*?[\n\r]\s*?\S+?/i 单词首字母大写<br> 来源:求个正则,处理英文单词或词组的</p> <p>每单词首字大写,其他小写。如blue idea转换为Blue Idea,BLUE IDEA也转换为Blue Idea</p> <p>cloeft的正则:</p> <p>/\b(\w)|\s(\w)/g 所谓“首字母”包括两种情况:第一种是边界(开头)的单词字符,一种是空格之后的新单词的第一个字母。测试代码如下:</p> <pre><code><script type="text/javascript"> function replaceReg(reg,str){ str = str.toLowerCase(); return str.replace(reg,function(m){return m.toUpperCase()}) } var reg = /\b(\w)|\s(\w)/g; var str = 'blue idea'; var str2 = 'BLUE IDEA'; var str3 = 'Test \n str is no good!'; var str4 = 'final test'; document.write(replaceReg(reg,str)+'<br />'); document.write(replaceReg(reg,str2)+'<br />'); document.write(replaceReg(reg,str3)+'<br />'); document.write(replaceReg(reg,str4)+'<br />'); </script> </code></pre> <p>正则验证日期格式</p> <p>yyyy-mm-dd格式</p> <p>正则如下:</p> <p><code>/^\d{4}-\d{1,2}-\d{1,2}$/</code> 4位数字,横线,1或者2位数字,再横线,最后又是1或者2位数字。</p> <p>测试代码如下:</p> <pre><code><script type="text/javascript"> function testReg(reg,str){ return reg.test(str); } var reg = /^\d{4}-\d{1,2}-\d{1,2}$/; var str = '2008-8-8'; var str2 = '2008-08-08'; var str3 = '08-08-2008'; var str4 = '2008 08 08'; document.write(testReg(reg,str)+'<br />'); document.write(testReg(reg,str2)+'<br />'); document.write(testReg(reg,str3)+'<br />'); document.write(testReg(reg,str4)+'<br />'); </script> </code></pre> <p>第二种格式:来源:求一正则表达式<br> yyyy-mm-dd<br> 或<br> yyyy/mm/dd</p> <p>用“或”简单地修改一下就行了。</p> <p><strong>/^\d{4}(-|/)\d{1,2}(-|/)\d{1,2}$/ 去掉文件的后缀名</strong></p> <p>www.abc.com/dc/fda.asp变为www.abc.com/dc/fda</p> <p>如果文件后缀已知的话这个问题就非常简单了,正则如下:</p> <p>/.asp$/ 匹配最后的.asp而已,测试代码如下:</p> <p>如果文件名未知的话就用这个正则:/.\w+$/,测试代码如下:</p> <pre><code><script type="text/javascript"> function delExtension(str){ var reg = /\.\w+$/; return str.replace(reg,''); } var str = 'example.com/dc/fda.asp'; document.write(delExtension(str)+'<br />'); var str2 = 'test/regular/fda.do'; document.write(delExtension(str2)+'<br />'); var str3 = 'example.com/dc/fda.strange_extension'; document.write(delExtension(str3)+'<br />'); </script> </code></pre> <p>验证邮箱的正则表达式</p> <p>fuchangxi的正则:</p> <p>/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ 开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。</p> <p>我不太了解邮箱的具体规则。感觉这个正则比较简单,EMAIL校验 正则 讨论 求解里有比较详细的邮箱正则讨论。</p> <p>匹配链接的文字<br> 来源:求一正则?</p> <p>代码:<a href="#>这里要保存,只保存链接的文本内容,标签信息删掉。</p> <p>前面写过一个匹配链接的正则:</p> <p>/<a\s(\s*\w*?=".+?")<em>(\s</em>href=".+?")(\s*\w*?=".+?")<em>\s</em>>[\s\S]<em>?</a>/ 不过我们需要捕获的是文字内容,所以需要做一定的修改。第一步就是在所有的括号内都加上?:表示不捕获。第二步就是再多加一个括号放在[\s\S]</em>?两侧,这样就可以捕获到链接的文字内容了。最后正则如下:</p> <p>1<br> /<a\s(?:\s*\w*?\s*=\s*".+?")<em>(?:\s</em>href\s*=\s*".+?")(?:\s*\w*?\s*=\s*".+?")<em>\s</em>>([\s\S]*?)</a>/<br> 测试代码如下:</p> <p>正则判断是否为数字与字母的混合<br> 来源:关于正则</p> <p>不能小于12位,且必须为字母和数字的混合。</p> <p>验证字符串包含数字简单,验证字符串包含字母也简单,验证字符串不包含其它字符也简单,可以用这三个正则分别检查一次字符串,逻辑运算出最终结果。</p> <p>但是怎么能把这些功能写进一个正则表达式里呢?这个问题真有点伤脑筋。</p> <p>下面是lexrus的正则:</p> <p>/^([a-z]+(?=[0-9])|[0-9]+(?=[a-z]))[a-z0-9]+$/ig 思路非常的清晰啊:</p> <p>[a-z]+(?=[0-9])</p> <p>字母开头,后面必须紧跟着数字。</p> <p>[0-9]+(?=[a-z]</p> <p>数字开头,后面必须紧跟着字母。<code>/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i</code></p> <pre><code>**`/<(script|head|%)[\s\S]*?\/\1>/ig` 用正则给文本分段** **给属性添加双引号** 给HTML标签中的属性添加双引号。 <a href=xxx>改为:<a href="xxx"> LeXRus的第一个正则如下: /(?!\<\w+)(\s+\w+)\=([^>\"\s]+)/ig 第一个括号没看明白,JS应该是不支持。所以我擅自给删掉了,剩下的正则如下: /(\s+\w+)\=([^>\"\s]+)/ig 第一个括号里的\s+\w+匹配的是属性名。 然后是=,不用转义。 第二个括号里的[^>\"\s]+匹配属性值。不匹配>”和空格。这里的引号不用转义。在意思不改变的情况下,稍微改了改,正则如下: /(\s+\w+)=([^>"\s]+)/ig 需要注意的是这个正则不匹配=两边有空格的属性,例如href = xxx。相匹配的话就改成: /(\s+\w+)\s*=\s*([^>"\s]+)/ig 代码: str=str.replace(/(?!\<\w+)(\s+\w+)\=([^>\"\s]+)/ig,'$1="$2"'); 其中'$1=”$2”'就实现了给属性值添加上双引号。不过ncs指出了这个正则替换的几个问题,一是上面的空格问题,二是如果非标签内部有等号,且前面又恰巧有空白字符的话,它将会被误识别为属性,例如: <a href=xxx target=yyy title = asdfasf> test=sd 里面的test=sd也会被匹配。三是如果属性原来使用了单引号,会被再包上一层双引号…… 来看看LeXRus前辈的新正则替换方法: 1 2 str=str.replace(/(?!<\w+)(\s+\w+)\s*=\s*([^>\"\s]+)(?=[^>]*>)/ig,'$1="$2"') .replace(/\"\'([^\'\"]+)\'\"/ig,'\"$1\"'); 先来看第一个正则: / (\s+\w+)\s*=\s*([^>"\s]+)(?=[^>]*>)/ig 结尾新添的(?=[^>]*>)意在解决普通文本中有等号被误识别为属性的问题: <a href=xxx target=yyy title = asdfasf> test=sd 就没问题了,但是 <a href=xxx target=yyy title = asdfasf> test=sd<tag>又一个标签</tag> 中的test=sd<tag>又会被识别为属性。 我觉得改成下面的正则就没问题了: /(\s+\w+)\s*=\s*([^<>"\s]+)(?=[^<>]*>)/ig 分别在第二个括号的字符集合和最后的反向预查的字符集合中添加了一个<。 下面再来分析第二个正则, /\"\'([^\'\"]+)\'\"/ig 这个正则用于匹配双引号,单引号多层嵌套的情况,同样,不用转义,修改正则如下: /"'([^'"]*)'"/ig 这样基本任务就完成了。测试代码如下: </code></pre> asfd=asfd ``` <p>原帖里LeXRus又提出了新问题:</p> <p>hint=i am lexrus</p> <p>这样的属性会有问题,不过我感觉不加引号的话,属性值里就不可能有空格,否则会被识别为多个属性了。不过看到最后ncs的回帖我就哭了:</p> <p>οnclick=if(document.forms.length>0)</p> <p>这样的属性怎么办?大于号会被识别为标签结束……还是分离行为与文档吧。补充一下,其实修补一下正则也可以解决,只要改成如下正则即可:</p> <p>/(\s+\w+)\s*=\s*([<sup>"\s]+)(?=[</sup><>]*>)/ig 就是去掉第二个括号内字符集合里的<>。最后这个问题也解决。</p> <p><strong>正则替换特定单词</strong><br> 来源:正则表达式,拒绝几个单词的输入该怎样表达?</p> <p>要求禁止输入某几个单词,如果拒绝red,yellow,white。这个帖子到时不难,但是让我弄清楚了好几个概念。</p> <p>第一个,小心字符集合里的“或”</p> <p>/[^red|yellow|white]/ 这个正则里的所有或都没有意义,等同于:</p> <p>/[^redyellowwhite]/ 意思就是不能含有以下列出的所有字母。</p> <p>正解:</p> <p>/red|yellow|white/第二个概念:</p> <p>只要整个正则匹配成功,无论子正则表达式是否匹配成功,括号都会捕捉。例如</p> <p>/(red)|(yellow)|(white)/ 会捕捉到三个结果,尽管实际上最多只可能有一个括号匹配成功。但是只要有一个匹配到了,两外两个也会记录空串。</p> <p>参考博客:JavaScript中常用的正则表达式日常整理(全)</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1757704746543628288"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(JavaScript)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1943094313860788224.htm" title="#TypeScript高频面试题总结(2025版)" target="_blank">#TypeScript高频面试题总结(2025版)</a> <span class="text-muted">沈大大520</span> <a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>本文将分享TypeScript高频面试题的一些面试点以及相应的示列作者:沈大大更新时间:2025-03-11前言TypeScript作为JavaScript的超集,已经成为前端开发中不可或缺的技术。本文整理了最常见的TypeScript面试题,从基础到高级,帮助你全面准备技术面试。基础概念篇1.TypeScript与JavaScript的区别是什么?TypeScript是JavaScript的超集</div> </li> <li><a href="/article/1943071999479836672.htm" title="实现顶部固定与平滑滑动二级菜单的网页导航设计" target="_blank">实现顶部固定与平滑滑动二级菜单的网页导航设计</a> <span class="text-muted"></span> <div>本文还有配套的精品资源,点击获取简介:现代网页设计中,高效的导航菜单对用户体验至关重要。本设计涵盖固定在顶部的导航栏和二级菜单项的平滑滑动效果。通过CSS实现导航栏的固定定位,而JavaScript则负责二级菜单的平滑过渡动画。包含的文件如HTML结构、JavaScript交互逻辑、CSS样式和可能的图像资源,共同构建了这种流行的导航菜单布局。1.顶部固定、二级栏目之间相互滑动的导航菜单在现代网页</div> </li> <li><a href="/article/1943051068032217088.htm" title="Vue 2 和 Vue 3 区别" target="_blank">Vue 2 和 Vue 3 区别</a> <span class="text-muted">哈哈123453</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a> <div>1.响应式系统原理Vue2:利用Object.defineProperty()实现属性拦截。存在局限性,无法自动监测对象属性增减,需用Vue.set/delete;数组变异方法要重写;深层对象递归转换性能差。Vue3:采用ES6Proxy代理对象,能直接拦截属性访问修改。无需特殊API就能监测属性变化;数组操作拦截更自然;深层响应式惰性处理,提升性能。javascript//Vue3响应式创建im</div> </li> <li><a href="/article/1943036074615959552.htm" title="浏览器渲染引擎和JS引擎分类" target="_blank">浏览器渲染引擎和JS引擎分类</a> <span class="text-muted"></span> <div>渲染引擎:Firefox:Gecko引擎Safari:WebKit引擎Chrome:Blink引擎IE:Trident引擎Edge:EdgeHTML引擎JS引擎:SpiderMonkey(Firefox),火狐Nitro/JavaScriptCore(Safari),苹果IOS浏览器V8(Chrome,Chromium),Node.js也是V8Chakra(MicrosoftInternetExp</div> </li> <li><a href="/article/1943033047586762752.htm" title="AJAX和CORS通信" target="_blank">AJAX和CORS通信</a> <span class="text-muted">Sᴀғᴇᴛʏ.944</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/ajax/1.htm">ajax</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>AJAX浏览器与服务器之间,采用HTTP协议通信。用户在浏览器地址栏键入一个网址,或者通过网页表单向服务器提交内容,这时浏览器就会向服务器发出HTTP请求。1999年,微软公司发布IE浏览器5.0版,第一次引入新功能:允许JavaScript脚本向服务器发起HTTP请求。这个功能当时并没有引起注意,直到2004年Gmail发布和2005年GoogleMap发布,才引起广泛重视。2005年2月,AJ</div> </li> <li><a href="/article/1943006822562590720.htm" title="H3初识——入门介绍之serveStatic、cookie" target="_blank">H3初识——入门介绍之serveStatic、cookie</a> <span class="text-muted"></span> <div>简介H3是一个轻量、快速、可组合的服务器框架,适用于现代JavaScript运行时。它基于网页标准原语,如Request、Response、URL和Headers。你可以将H3集成到任何兼容的运行时,或者将其他支持web的处理器挂载到H3,几乎不会带来额外延迟。主要特性极简、快速、无依赖支持中间件和自定义路由兼容Node.jsHTTP服务安装npmih3@beta快速开始下面是一个使用H3创建简单</div> </li> <li><a href="/article/1942983636076785664.htm" title="Html+Css+JavaScript+Vue+Axios入门" target="_blank">Html+Css+JavaScript+Vue+Axios入门</a> <span class="text-muted">chen_ever</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a> <div>一.HTMLHTML(HyperTextMarkupLanguage)是构建网页的基础语言,用于定义网页的结构和内容。以下介绍HTML的基本概念和用法。页面标题这是一级标题这是一个段落。声明文档类型为HTML5。标签是文档的根元素。包含元信息,如标题和CSS链接。包含可见的页面内容。常用HTML标签到:标题标签,数字越小级别越高。:段落标签。链接文本:超链接标签。:图像标签。和:无序列表。和:有序</div> </li> <li><a href="/article/1942968266771197952.htm" title="JavaScript Symbol 属性详解" target="_blank">JavaScript Symbol 属性详解</a> <span class="text-muted">超烦淇淇</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>一、Symbol的本质与基础1.Symbol是什么JavaScript的第七种原始数据类型(ES6引入)创建唯一的、不可变的标识符主要用途:作为对象的属性键(Symbol属性)//创建Symbolconstid=Symbol('id');//'id'是描述符(可选)console.log(typeofid);//"symbol"2.核心特性特性说明示例唯一性每个Symbol都是唯一的Symbol(</div> </li> <li><a href="/article/1942938562991288320.htm" title="《解码DOM交互:JavaScript与界面共生的隐秘逻辑》" target="_blank">《解码DOM交互:JavaScript与界面共生的隐秘逻辑》</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>DOM从来不是被动等待指令的静态结构,而是与JavaScript形成共生关系的动态有机体。这种关系的精妙之处,在于两者既保持独立特性,又能通过无形的规则相互响应——就像舞者与音乐,节奏的共鸣才是呈现完美表演的核心。DOM的层级结构看似清晰,父与子、兄与弟的标签关系之下,藏着更复杂的动态联结。一个节点的“存在感”,不仅由自身属性决定,更由它在整个文档流中的“生态位”定义。比如一个普通的列表项,其显示</div> </li> <li><a href="/article/1942930818569662464.htm" title="JSX编译革命:React 17+无需导入的Babel优化与AST深层解析" target="_blank">JSX编译革命:React 17+无需导入的Babel优化与AST深层解析</a> <span class="text-muted">PineappleCode</span> <a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a> <div>二、ReactJSX1.什么是JSXJSX是React中的一项核心技术,本质上是JavaScript的语法扩展(JavaScriptXML)。根据最新的React文档,JSX被定义为"在JavaScript中嵌入类似HTML的标签语法",它允许我们直观地描述UI应该呈现的样子。从本质上看,JSX是React.createElement()函数的语法糖,它使UI结构的描述更加直观和可读。React团</div> </li> <li><a href="/article/1942910402211934208.htm" title="JavaScript 类型判断中的“怪异”边界与实战技巧" target="_blank">JavaScript 类型判断中的“怪异”边界与实战技巧</a> <span class="text-muted">Jokerator</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>文章目录一、基础回顾:JavaScript类型与比较1.`typeof`操作符2.新增原始类型二、相等比较:`===`与`Object.is`1.`NaN`的特殊性2.`+0`与`-0`3.`Object.is`语义三、常见“怪异”边界场景1.`typeofnull`2.数组与其他对象3.原始包装对象4.函数、正则、日期四、Vue2中的边界处理:`hasChanged`示例五、最佳实践与应对策略六</div> </li> <li><a href="/article/1942909267510095872.htm" title="使用 Node.js 调用 DeepSeek API:一个简单示例" target="_blank">使用 Node.js 调用 DeepSeek API:一个简单示例</a> <span class="text-muted">CDOG程序狗</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>好的!以下是一篇简洁的文章,介绍如何使用前端JavaScript(以Node.js为例)调用DeepSeekAI框架,并提供一个具体的代码示例。文章面向初学者,涵盖基本步骤和注意事项。使用Node.js调用DeepSeekAPI:一个简单示例DeepSeek是一个强大的AI平台,提供类似OpenAI的API接口,开发者可以通过JavaScript轻松集成其语言模型,实现智能问答、文本生成等功能。本</div> </li> <li><a href="/article/1942907627344293888.htm" title="Svelte滚屏插件:rollup-plugin-svelte完全指南" target="_blank">Svelte滚屏插件:rollup-plugin-svelte完全指南</a> <span class="text-muted">俞兰莎Rosalind</span> <div>Svelte滚屏插件:rollup-plugin-svelte完全指南rollup-plugin-svelteCompileSveltecomponentswithRollup项目地址:https://gitcode.com/gh_mirrors/ro/rollup-plugin-svelte项目介绍rollup-plugin-svelte是一款专门用于将Svelte组件编译为JavaScript</div> </li> <li><a href="/article/1942893134627270656.htm" title="JavaScript之对象操作详解" target="_blank">JavaScript之对象操作详解</a> <span class="text-muted">AA-代码批发V哥</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>JavaScript之对象操作详解一、对象的创建方式1.1对象字面量(最常用)1.2构造函数与`new`关键字1.3`Object.create()`方法1.4其他方式(ES6+)二、对象属性的操作方法2.1访问与修改属性2.2添加与删除属性2.3检查属性是否存在三、对象的遍历方法3.1`for...in`循环3.2`Object.keys()`与`Object.values()`3.3`Obje</div> </li> <li><a href="/article/1942874224960008192.htm" title="AJAX 学习" target="_blank">AJAX 学习</a> <span class="text-muted">凌辰揽月</span> <a class="tag" taget="_blank" href="/search/javaweb%E5%AD%A6%E4%B9%A0/1.htm">javaweb学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%BB%E7%A0%96%E5%8A%A0%E7%93%A6%E7%B3%BB%E5%88%97/1.htm">添砖加瓦系列</a><a class="tag" taget="_blank" href="/search/ajax/1.htm">ajax</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/okhttp/1.htm">okhttp</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>1.AJAX简介AJAX(AsynchronousJavaScriptAndXML)是一种用于创建交互式网页的技术,允许在不刷新页面的情况下与服务器进行通信,从而实现页面的局部更新。1.1AJAX的优点无需刷新页面:可以与服务器进行异步通信,无需重新加载整个页面。提升用户体验:页面更新更加流畅,用户操作不会被中断。减轻服务器负担:只传输必要的数据,而不是整个页面内容。1.2AJAX的缺点无浏览历史</div> </li> <li><a href="/article/1942869056646344704.htm" title="JavaScript 性能优化秘籍:从代码压缩到懒加载的技巧" target="_blank">JavaScript 性能优化秘籍:从代码压缩到懒加载的技巧</a> <span class="text-muted">数字魔方操控师</span> <a class="tag" taget="_blank" href="/search/%E3%80%8AJavaScript/1.htm">《JavaScript</a><a class="tag" taget="_blank" href="/search/%E9%80%9A%E5%85%B3%E6%8C%87%E5%8D%97%EF%BC%9A%E4%BB%8E%E6%96%B0%E6%89%8B%E5%88%B0%E9%AB%98%E6%89%8B%E7%9A%84%E8%9C%95%E5%8F%98%E3%80%8B/1.htm">通关指南:从新手到高手的蜕变》</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>引言在当今的Web开发领域,JavaScript无疑是最核心的技术之一。从简单的网页交互到复杂的单页应用(SPA),从前端界面渲染到后端服务器逻辑处理(如Node.js应用),JavaScript无处不在。然而,随着应用程序的功能日益丰富,代码规模不断膨胀,性能问题逐渐凸显。性能不佳的JavaScript代码会导致网页加载缓慢、交互卡顿,严重影响用户体验,甚至可能导致用户流失。因此,掌握JavaS</div> </li> <li><a href="/article/1942868300597882880.htm" title="JavaScript 异步函数优化:提升性能和可读性" target="_blank">JavaScript 异步函数优化:提升性能和可读性</a> <span class="text-muted">喵手</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a> <div>全文目录:开篇语**前言****1.使用`async/await`替代回调函数****示例:回调地狱vs`async/await`****回调地狱示例:****使用`async/await`改写:****优化要点:****2.使用`Promise.all`和`Promise.race`提高并发性能****`Promise.all`示例:****`Promise.race`示例:****优化要点:*</div> </li> <li><a href="/article/1942860606709231616.htm" title="Vue 3 + Element Plus 动态表单构建器组件实战教程" target="_blank">Vue 3 + Element Plus 动态表单构建器组件实战教程</a> <span class="text-muted">JaysonJin</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>Vue3+ElementPlus动态表单构建器组件实战教程✅适用技术栈:Vue3++ElementPlus+JavaScript✅教学目标:封装一个可复用的动态表单组件VFormBuilder,支持插槽、动态字段、表单校验、组件映射、v-model双向绑定等功能。一、组件功能一览功能说明✅动态表单项渲染支持通过配置项动态渲染el-input,el-select等组件✅v-model双向绑定外部可使</div> </li> <li><a href="/article/1942857454165487616.htm" title="javascript引入方式" target="_blank">javascript引入方式</a> <span class="text-muted">你这个小猪</span> <a class="tag" taget="_blank" href="/search/javaSE/1.htm">javaSE</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AFHTML/1.htm">前端HTML</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>2,JavaScript引入方式JavaScript引入方式就是HTML和JavaScript的结合方式。JavaScript引入方式有两种:内部脚本:将JS代码定义在HTML页面中外部脚本:将JS代码定义在外部JS文件中,然后引入到HTML页面中2.1内部脚本在HTML中,JavaScript代码必须位于与标签之间代码如下:alert(数据)是JavaScript的一个方法,作用是将参数数据以浏</div> </li> <li><a href="/article/1942855690871697408.htm" title="【手写 Promise A+规范实现 - 从零开始构建异步编程基石】" target="_blank">【手写 Promise A+规范实现 - 从零开始构建异步编程基石】</a> <span class="text-muted"></span> <div>手写PromiseA+规范实现-从零开始构建异步编程基石引言Promise是现代JavaScript异步编程的核心,而Promise/A+规范则是Promise实现的标准。本文将从最基础的概念开始,逐步实现一个完整的PromiseA+规范,帮助深入理解Promise的工作原理。什么是PromiseA+规范?规范定义PromiseA+规范(Promise/A+Specification)是一个开放标</div> </li> <li><a href="/article/1942852289756721152.htm" title="JavaScript条件语句" target="_blank">JavaScript条件语句</a> <span class="text-muted">啥时候都困系列</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>if-else类型第一关:if-else类型functionmainJs(a){a=parseInt(a);//请在此处编写代码/**********Begin**********/if(a<60){return"unpass";}else{return"pass";}/**********End**********/}switch类型第一关:switch类型functionmainJs(a){a</div> </li> <li><a href="/article/1942848002460807168.htm" title="2025华为OD机试A卷-猜数字(JAVA、Python、JavaScript、C++、C)" target="_blank">2025华为OD机试A卷-猜数字(JAVA、Python、JavaScript、C++、C)</a> <span class="text-muted">大厂面试小达人</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>2025华为OD机试A卷-猜数字(JAVA、Python、JavaScript、C++、C)题目描述一个人设定一组四码的数字作为谜底,另一方猜。每猜一个数,出数者就要根据这个数字给出提示,提示以XAYB形式呈现,直到猜中位置。其中X表示位置正确的数的个数(数字正确且位置正确),而Y表示数字正确而位置不对的数的个数。例如,当谜底为8123,而猜谜者猜1052时,出题者必须提示0A2B。例如,当谜底为</div> </li> <li><a href="/article/1942778788052004864.htm" title="vue-cropper实现图片裁剪" target="_blank">vue-cropper实现图片裁剪</a> <span class="text-muted">鸡吃丸子</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>一、什么是vue-cropper?Vue-Cropper是一个基于Vue.js的图片裁剪组件库,专为Web应用设计。当你在网上搜索的时候发现还有一个叫cropper的库,下面是他们的区别:特性cropper.jsvue-cropper框架依赖纯JavaScript,无框架依赖专为Vue.js设计包体积~200KB(含样式)~45KB(压缩后)API调用方式原生DOM操作Vue组件式API响应式支持</div> </li> <li><a href="/article/1942724578786734080.htm" title="【转载】python json" target="_blank">【转载】python json</a> <span class="text-muted"></span> <div>概念序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。JSON(JavaScriptObjectNotation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的</div> </li> <li><a href="/article/1942712724291121152.htm" title="【JavaScript】setTimeout和setInterval中的陷阱" target="_blank">【JavaScript】setTimeout和setInterval中的陷阱</a> <span class="text-muted">秀秀_heo</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>✅一、核心区别回顾setTimeout(fn,delay)//delay毫秒后执行fn,一次setInterval(fn,delay)//每隔delay毫秒执行fn,循环执行⚠️二、常见陷阱和注意事项1.定时不准(延时不准确)现象:你设置了setTimeout(fn,1000),但实际执行时间可能远远大于1000ms。原因:JavaScript是单线程的,setTimeout和setInterva</div> </li> <li><a href="/article/1942712725096427520.htm" title="经典面试题 - LAZYMAN (HARDMAN / 懒汉)" target="_blank">经典面试题 - LAZYMAN (HARDMAN / 懒汉)</a> <span class="text-muted">秀秀_heo</span> <a class="tag" taget="_blank" href="/search/%E5%B0%8F%E8%BD%AE%E5%AD%90/1.htm">小轮子</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>主要考察JavaScript异步编程、事件循环、链式调用和任务调度的综合能力。题目要求实现一个hardMan函数,支持链式调用study()、rest()和restFirst()方法,并满足特定时序逻辑。一、题目要求与行为分析hardMan('潘潘')//输出:Hi!Iam潘潘.hardMan('潘潘').study('敲码')//输出:Hi!Iam潘潘.→Iamstudying敲码.hardMa</div> </li> <li><a href="/article/1942704778412879872.htm" title="javascript基础从小白到高手系列四千八百七十三:禁用验证" target="_blank">javascript基础从小白到高手系列四千八百七十三:禁用验证</a> <span class="text-muted">完美句号</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a> <div>通过指定novalidate属性可以禁止对表单进行任何验证:这个值也可以通过JavaScript属性noValidate检索或设置,设置为true表示属性存在,设置为false表示属性不存在:document.forms[0].noValidate=true;//关闭验证如果一个表单中有多个提交按钮,那么可以给特定的提交按钮添加formnovalidate属性,指定通过该按钮无须验证即可提交表单:</div> </li> <li><a href="/article/1942702507834798080.htm" title="【算法入门】LeetCode 239. 滑动窗口最大值:Java与JavaScript双解法详解|单调队列的精妙运用力扣239题详解:滑动窗口最大值(Java & JavaScript 双语言实现)" target="_blank">【算法入门】LeetCode 239. 滑动窗口最大值:Java与JavaScript双解法详解|单调队列的精妙运用力扣239题详解:滑动窗口最大值(Java & JavaScript 双语言实现)</a> <span class="text-muted">南北极之间</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>题目:官方链接:https://leetcode.cn/problems/sliding-window-maximum/description/?envType=study-plan-v2&envId=top-100-liked参考答案:【新手入门】LeetCode239.滑动窗口最大值:Java&JavaScript双解法详解目录题目描述问题分析解题思路3.1暴力法(不推荐)3.2单调队列法(最</div> </li> <li><a href="/article/1942692420139413504.htm" title="大学生HTML期末大作业——HTML+CSS+JavaScript传统文化" target="_blank">大学生HTML期末大作业——HTML+CSS+JavaScript传统文化</a> <span class="text-muted">无·糖</span> <a class="tag" taget="_blank" href="/search/Web%E5%89%8D%E7%AB%AF%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">Web前端期末大作业</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%AD%A6%E7%94%9F/1.htm">大学生</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">大作业</a><a class="tag" taget="_blank" href="/search/%E6%9C%9F%E6%9C%AB%E4%BD%9C%E4%B8%9A/1.htm">期末作业</a> <div>HTML+CSS+JS【传统文化】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计文章目录一、网站题目二、网站描述三、网站介绍四、网站效果五、️网站代码六、️‍如何学习进步七、‍☠️更多干货文章目录一、网站题目传统文化精美设计5页含注册登录二、网站描述总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮</div> </li> <li><a href="/article/1942690656627519488.htm" title="Turndown 项目教程" target="_blank">Turndown 项目教程</a> <span class="text-muted">卓桔洋</span> <div>Turndown项目教程turndownAnHTMLtoMarkdownconverterwritteninJavaScript项目地址:https://gitcode.com/gh_mirrors/tu/turndown项目介绍Turndown是一个用JavaScript编写的HTML到Markdown转换器。它旨在与CommonMark规范兼容,并提供了多种选项来定制输出样式。Turndown</div> </li> <li><a href="/article/62.htm" title="关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题" target="_blank">关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题</a> <span class="text-muted">何必如此</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/%E8%B6%85%E9%93%BE%E6%8E%A5/1.htm">超链接</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD/1.htm">文件下载</a><a class="tag" taget="_blank" href="/search/%E7%AA%97%E5%8F%A3/1.htm">窗口</a> <div>生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc</div> </li> <li><a href="/article/189.htm" title="【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析" target="_blank">【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/cluster/1.htm">cluster</a> <div>在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识: 首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste</div> </li> <li><a href="/article/316.htm" title="linux上独立安装部署spark" target="_blank">linux上独立安装部署spark</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/1.4/1.htm">1.4</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a> <div>下面讲一下linux上安装spark,以 Standalone Mode 安装   1)首先安装JDK   下载JDK:jdk-7u79-linux-x64.tar.gz  ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz     然后配置 ~/.bashrc&nb</div> </li> <li><a href="/article/443.htm" title="Java 字节码之解析一" target="_blank">Java 字节码之解析一</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E7%A0%81/1.htm">字节码</a><a class="tag" taget="_blank" href="/search/javap/1.htm">javap</a> <div>    一: Java 字节代码的组织形式   类文件 {     OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组 } &nbs</div> </li> <li><a href="/article/570.htm" title="java各种小工具代码" target="_blank">java各种小工具代码</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1.数组转换成List import java.util.Arrays; Arrays.asList(Object[] obj); 2.判断一个String型是否有值 import org.springframework.util.StringUtils; if (StringUtils.hasText(str)) 3.判断一个List是否有值 import org.spring</div> </li> <li><a href="/article/697.htm" title="加快FineReport报表设计的几个心得体会" target="_blank">加快FineReport报表设计的几个心得体会</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a> <div>一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!! 二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。 </div> </li> <li><a href="/article/824.htm" title="mysql linux启动与停止" target="_blank">mysql linux启动与停止</a> <span class="text-muted">墙头上一根草</span> <div>如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin</div> </li> <li><a href="/article/951.htm" title="Spring中事务管理浅谈" target="_blank">Spring中事务管理浅谈</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1%E7%AE%A1%E7%90%86/1.htm">事务管理</a> <div> Spring中事务管理浅谈 By Tony Jiang@2012-1-20 Spring中对事务的声明式管理 拿一个XML举例 [html]  view plain copy print ? <?xml version="1.0" encoding="UTF-8"?>&nb</div> </li> <li><a href="/article/1078.htm" title="php中隐形字符65279(utf-8的BOM头)问题" target="_blank">php中隐形字符65279(utf-8的BOM头)问题</a> <span class="text-muted">alxw4616</span> <div>php中隐形字符65279(utf-8的BOM头)问题 今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.   调试: 1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题. 2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.        </div> </li> <li><a href="/article/1205.htm" title="调用对象是否需要传递对象(初学者一定要注意这个问题)" target="_blank">调用对象是否需要传递对象(初学者一定要注意这个问题)</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E5%AF%B9%E8%B1%A1%E7%9A%84%E4%BC%A0%E9%80%92%E4%B8%8E%E8%B0%83%E7%94%A8%E6%8A%80%E5%B7%A7/1.htm">对象的传递与调用技巧</a> <div>    类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看   为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)   类和对象的基础概念:   JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接</div> </li> <li><a href="/article/1332.htm" title="JDK1.5 AtomicLong实例" target="_blank">JDK1.5 AtomicLong实例</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/AtomicLong/1.htm">AtomicLong</a> <div>JDK1.5 AtomicLong实例 类 AtomicLong 可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。  </div> </li> <li><a href="/article/1459.htm" title="自定义的RPC的Java实现" target="_blank">自定义的RPC的Java实现</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a> <div>        网上看到纯java实现的RPC,很不错。         RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何</div> </li> <li><a href="/article/1586.htm" title="【RPC框架Hessian一】Hessian RPC Hello World" target="_blank">【RPC框架Hessian一】Hessian RPC Hello World</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Hello+world/1.htm">Hello world</a> <div>什么是Hessian The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p</div> </li> <li><a href="/article/1713.htm" title="【Spark九十五】Spark Shell操作Spark SQL" target="_blank">【Spark九十五】Spark Shell操作Spark SQL</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>在Spark Shell上,通过创建HiveContext可以直接进行Hive操作   1. 操作Hive中已存在的表   [hadoop@hadoop bin]$ ./spark-shell Spark assembly has been built with Hive, including Datanucleus jars on classpath Welcom</div> </li> <li><a href="/article/1840.htm" title="F5 往header加入客户端的ip" target="_blank">F5 往header加入客户端的ip</a> <span class="text-muted">ronin47</span> <div>when HTTP_RESPONSE {if {[HTTP::is_redirect]}{         HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo</div> </li> <li><a href="/article/1967.htm" title="java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5," target="_blank">java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>思路来自: http://zhedahht.blog.163.com/blog/static/2541117420116135376632/ 写了个java版的 public class GreatestLeftRightDiff { /** * Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。 * 求所有数对之差的最大值。例如在数组</div> </li> <li><a href="/article/2094.htm" title="mongoDB 索引" target="_blank">mongoDB 索引</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongoDB%E7%B4%A2%E5%BC%95/1.htm">mongoDB索引</a> <div>在这一节中我们讲讲在mongo中如何创建索引       得到当前查询的索引信息      db.user.find(_id:12).explain();        cursor: basicCoursor 指的是没有索引  &</div> </li> <li><a href="/article/2221.htm" title="[硬件和系统]迎峰度夏" target="_blank">[硬件和系统]迎峰度夏</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F/1.htm">系统</a> <div>  从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内    所以,从现在开始准备渡过炎热的夏天。。。。    每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)    坐的,躺的地方要有凉垫,床上要有凉席       电脑的机箱</div> </li> <li><a href="/article/2348.htm" title="基于ThinkPHP开发的公司官网" target="_blank">基于ThinkPHP开发的公司官网</a> <span class="text-muted">cuiyadll</span> <a class="tag" taget="_blank" href="/search/%E8%A1%8C%E4%B8%9A%E7%B3%BB%E7%BB%9F/1.htm">行业系统</a> <div>后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统 轻量级企业网站管理系统 运行环境:PHP5.3+, MySQL5.0 系统预览 系统下载:http://www.tecmz.com 预览地址:http://co.tecmz.com 各种设备自适应 响应式的网站设计能够对用户产生友好度,并且对于</div> </li> <li><a href="/article/2475.htm" title="Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)" target="_blank">Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/jms/1.htm">jms</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a><a class="tag" taget="_blank" href="/search/%E6%89%BF%E8%AE%A4/1.htm">承认</a><a class="tag" taget="_blank" href="/search/MQ/1.htm">MQ</a><a class="tag" taget="_blank" href="/search/acknowledge/1.htm">acknowledge</a> <div>JMS Message Delivery Reliability and Acknowledgement Patterns http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/ Transaction and redelivery in </div> </li> <li><a href="/article/2602.htm" title="Centos添加硬盘完全教程" target="_blank">Centos添加硬盘完全教程</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/hardware/1.htm">hardware</a> <div>Linux的硬盘识别: sda        表示第1块SCSI硬盘 hda       表示第1块IDE硬盘 scd0      表示第1个USB光驱 一般使用“fdisk -l”命</div> </li> <li><a href="/article/2729.htm" title="yii2 restful web服务路由" target="_blank">yii2 restful web服务路由</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a> <div>路由 随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。 在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示</div> </li> <li><a href="/article/2856.htm" title="MongoDB查询(4)——游标和分页[八]" target="_blank">MongoDB查询(4)——游标和分页[八]</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/MongoDB%E6%B8%B8%E6%A0%87/1.htm">MongoDB游标</a><a class="tag" taget="_blank" href="/search/MongoDB%E6%B7%B1%E5%88%86%E9%A1%B5/1.htm">MongoDB深分页</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标         数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示: > var </div> </li> <li><a href="/article/2983.htm" title="Activity的四种启动模式和onNewIntent()" target="_blank">Activity的四种启动模式和onNewIntent()</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>Android中Activity启动模式详解   在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。   Android总Activity的启动模式分为四种: Activity启动模式设置: <acti</div> </li> <li><a href="/article/3110.htm" title="攻城狮送女友的CSS3生日蛋糕" target="_blank">攻城狮送女友的CSS3生日蛋糕</a> <span class="text-muted">ini</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a> <div>在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm   代码如下:   <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>攻城狮送女友的CSS3生日蛋糕-柯乐义<</div> </li> <li><a href="/article/3237.htm" title="读源码学Servlet(1)GenericServlet 源码分析" target="_blank">读源码学Servlet(1)GenericServlet 源码分析</a> <span class="text-muted">jzinfo</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a> <div>Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。     先看javax.servlet.servlet接口源码:  package </div> </li> <li><a href="/article/3364.htm" title="JAVA进阶:VO(DTO)与PO(DAO)之间的转换" target="_blank">JAVA进阶:VO(DTO)与PO(DAO)之间的转换</a> <span class="text-muted">snoopy7713</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/po/1.htm">po</a> <div>  PO即 Persistence Object  VO即 Value Object  VO和PO的主要区别在于:  VO是独立的Java Object。  PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。  实际上,这个VO被用作Data Transfer </div> </li> <li><a href="/article/3491.htm" title="mongodb group by date 聚合查询日期 统计每天数据(信息量)" target="_blank">mongodb group by date 聚合查询日期 统计每天数据(信息量)</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>/* 1 */ { "_id" : ObjectId("557ac1e2153c43c320393d9d"), "msgType" : "text", "sendTime" : ISODate("2015-06-12T11:26:26.000Z")</div> </li> <li><a href="/article/3618.htm" title="java之18天 常用的类(一)" target="_blank">java之18天 常用的类(一)</a> <span class="text-muted">Luob.</span> <a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a><a class="tag" taget="_blank" href="/search/System/1.htm">System</a><a class="tag" taget="_blank" href="/search/Runtime/1.htm">Runtime</a><a class="tag" taget="_blank" href="/search/Rundom/1.htm">Rundom</a> <div>System类 import java.util.Properties; /** * System: * out:标准输出,默认是控制台 * in:标准输入,默认是键盘 * * 描述系统的一些信息 * 获取系统的属性信息:Properties getProperties(); * * * */ public class Sy</div> </li> <li><a href="/article/3745.htm" title="maven" target="_blank">maven</a> <span class="text-muted">wuai</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>1、安装maven:解压缩、添加M2_HOME、添加环境变量path 2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹 3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹 4、进入mvn_ch01 4.1、mvn compile ,执行后会在</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>