js正則學習分享

http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html

http://www.cnblogs.com/tylerdonet/p/4262251.html

?

//正整數
/^[0-9]*[1-9][0-9]*$/;
//負整數
/^-[0-9]*[1-9][0-9]*$/;
//正浮點數
/^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;   
//負浮點數
/^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;  
//浮點數
/^(-?\d+)(\.\d+)?$/;
//email地址
/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; //url地址 /^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/; 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$ //年/月/日(年-月-日、年.月.日) /^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/; //匹配中文字符 /[\u4e00-\u9fa5]/; //匹配帳號是否合法(字母開頭,允許5-10字節,允許字母數字下劃線) /^[a-zA-Z][a-zA-Z0-9_]{4,9}$/; //匹配空白行的正則表達式 /\n\s*\r/; //匹配中國郵政編碼 /[1-9]\d{5}(?!\d)/; //匹配身份證 /\d{15}|\d{18}/; //匹配國內電話號碼 /(\d{3}-|\d{4}-)?(\d{8}|\d{7})?/; //匹配IP地址 /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/; //匹配首尾空白字符的正則表達式 /^\s*|\s*$/; //匹配HTML標記的正則表達式 < (\S*?)[^>]*>.*?|< .*? />; //sql 語句 ^(select|drop|delete|create|update|insert).*$ //提取信息中的網絡鏈接 (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} //提取信息中的中國郵政編碼 [1-9]{1}(\d+){5} //提取信息中的浮點數(即小數) (-?\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]+$

?

現在已經沒有研究正則表達式原理,現在只想在網上找過來看看了,下面的都是來自別人的博客。
來自:http://www.cnblogs.com/tylerdonet/archive/2013/03/24/2979323.html
1.正則表達式 整數
^[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)2.另外一個版本
"^(([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+)?))$" //非正浮點數(負浮點數 + 0) 
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //負浮點數 
"^(-?\d+)(\.\d+)?$" //浮點數 
"^[A-Za-z]+$" //由26個英文字母組成的字符串 
"^[A-Z]+$" //由26個英文字母的大寫組成的字符串 
"^[a-z]+$" //由26個英文字母的小寫組成的字符串 
"^[A-Za-z0-9]+$" //由數字和26個英文字母組成的字符串 
"^\w+$" //由數字、26個英文字母或者下劃線組成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url 
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年 
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil 
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //電話號碼 
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址YYYY-MM-DD基本上把閏年和2月等的情況都考慮進去了 
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$ C#正則表達式 圖片 src[^>]*[^/].(?:jpg|bmp|gif)(?:\"|\') 中文 ^([\u4e00-\u9fa5]+|[a-zA-Z0-9]+)$ 網址 "\<a.+?href=['""](?!http\:\/\/)(?!mailto\:)(?>foundAnchor>[^'"">]+?)[^>]*?\>" 匹配中文字符的正則表達式: [\u4e00-\u9fa5] 匹配雙字節字符(包括漢字在內):[^\x00-\xff] 匹配空行的正則表達式:\n[\s| ]*\r 匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/ 匹配首尾空格的正則表達式:(^\s*)|(\s*$)(像vbscript那樣的trim函數) 匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配網址URL的正則表達式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? --------------------------------------------------------------------------- 以下是例子: 利用正則表達式限制網頁表單里的文本框輸入內容: 用正則表達式限制只能輸入中文:οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" 1.用正則表達式限制只能輸入全角字符: οnkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" 2.用正則表達式限制只能輸入數字:οnkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 3.用正則表達式限制只能輸入數字和英文:οnkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 4.計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;} 5.javascript中沒有像vbscript那樣的trim函數,我們就可以利用這個表達式來實現,如下: String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } 利用正則表達式分解和轉換IP地址: 6.下面是利用正則表達式匹配IP地址,并將IP地址轉換成對應數值的Javascript程序: function IP2V(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("不是一個正確的IP地址!") } } 不過上面的程序如果不用正則表達式,而直接用split函數來分解可能更簡單,程序如下: var ip="10.100.20.168" ip=ip.split(".") alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) 3.這位博友很細心把html代碼也貼出來了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test</title> <script type="text/javascript" language="javascript" src="jquery.js"></script> <script type="text/javascript" language="javascript" > function validata(){ if($("#username").val()==""){ document.write("請輸入名字"); return false; } if($("#password").val()==""){ document.write("請輸入密碼"); return false; } if($("#telephone").val()==""){ document.write("請輸入電話號碼"); } if($("#email").val()==""){ $("#email").val("shuangping@163.com"); } } function isInteger(obj){ reg=/^[-+]?\d+$/; if(!reg.test(obj)){ $("#test").html("<b>Please input correct figures</b>"); }else{ $("#test").html(""); } } function isEmail(obj){ reg=/^\w{3,}@\w+(\.\w+)+$/; if(!reg.test(obj)){ $("#test").html("<b>請輸入正確的郵箱地址</b>"); }else{ $("#test").html(""); } } function isString(obj){ reg=/^[a-z,A-Z]+$/; if(!reg.test(obj)){ $("#test").html("<b>只能輸入字符</b>"); }else{ $("#test").html(""); } } function isTelephone(obj){ reg=/^(\d{3,4}\-)?[1-9]\d{6,7}$/; if(!reg.test(obj)){ $("#test").html("<b>請輸入正確的電話號碼!</b>"); }else{ $("#test").html(""); } } function isMobile(obj){ reg=/^(\+\d{2,3}\-)?\d{11}$/; if(!reg.test(obj)){ $("#test").html("請輸入正確移動電話"); }else{ $("#test").html(""); } } function isUri(obj){ reg=/^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/; if(!reg.test(obj)){ $("#test").html($("#uri").val()+"請輸入正確的inernet地址"); }else{ $("#test").html(""); } } //document加載完畢執行 $(document).ready(function() { // do something here //隔行換色功能 $("p").each(function(i){ this.style.color=['red','green','blue','black'][i%2] }); //eq(2)獲取$("p")集合的第3個元素 $("p").eq(2).click(function(){$("#display").css("color","blue")}); //所有test中的p都附加了樣式"over"。 $("#test>p").addClass("over"); //test中的最后一個p附加了樣式"out"。 $("#test p:last").addClass("out"); //選擇同級元素還沒看懂 //$('#faq').find('dd').hide().end().find('dt').click(function() //選擇父級元素 $("a").hover( function(){$(this).parents("p").addClass("out")}, function(){$(this).parents("p").removeClass("out")}) //hover鼠標懸停效果,toggle每次點擊時切換要調用的函數 , //trigger(eventtype): 在每一個匹配的元素上觸發某類事件, //bind(eventtype,fn),unbind(eventtype): 事件的綁定與反綁定從每一個匹配的元素中(添加)刪除綁定的事件。 //方法的連寫 $("#display").hover(function(){ $(this).addClass("over"); },function(){ $(this).removeClass("over"); }) .click(function(){alert($("#display").text())}); if($.browser.msie){//判斷瀏覽器,若是ie則執行下面的功能 //聚焦 $("input[@type=text],textarea,input[@type=password]") .focus(function(){$(this).css({background:"white",border:"1px solid blue"})}) //也可以這樣連著寫, //.blur(function(){$(this).css({background:"white",border:"1px solid black"})}) //失去焦點 //css樣式可以通過addClass()來添加 $("input[@type=text],textarea,input[@type=password]") .blur(function(){$(this).css({background:"white",border:"1px solid black"});}); } }); </script> <style type="text/css"> .over{ font-size:large; font-style:italic; } .out{ font-size:small; } </style> </head> <body > <div id="display">demo</div> <div id="test"> <p>adfa<a>dfasfa</a>sdfasdf</p> <p>adfadfasfasdfasdf</p> <p>adfadfasfasdfasdf</p> <p>adfadfasfasdfasdf</p> </div> <form id="theForm"> isString<div><input type="text" id="username" οnblur="isString(this.value)"/></div> isInteger<div><input type="text" id="password" οnblur="isInteger(this.value)"/></div> isTelephone<div><input type="text" id="telephone" οnblur="isTelephone(this.value)"/></div> isMobile<div><input type="text" id="mobile" οnblur="isMobile(this.value)"/></div> isEmail<div><input type="text" id="email" οnblur="isEmail(this.value)"/></div> isUri<div><input type="text" id="uri" οnblur="isUri(this.value)"/></div> <div><input type="button" value="Validata" οnclick="return validata();" /></div> </form> </body> </html> 4. 用JS jquery取float型小數點后兩位 1. 最笨的辦法 function get() { var s = 22.127456 + “”; var str = s.substring(0,s.indexOf(“.”) + 3); alert(str); } 2. 正則表達式效果不錯 <scrīpt type=”text/javascrīpt”> onload = function(){ var a = “23.456322″; var aNew; var re = /([0-9]+\.[0-9]{2})[0-9]*/; aNew = a.replace(re,”$1″); alert(aNew); } </scrīpt> 3. 他就比較聰明了….. <scrīpt> var num=22.127456; alert( Math.round(num*100)/100); </scrīpt> 4.會用新鮮東西的朋友……. 但是需要 IE5.5+才支持。 <scrīpt> var num=22.127456; alert( num.toFixed(2)); </scrīpt>  參考鏈接: http://www.cnblogs.com/freexiaoyu/archive/2008/12/17/1356690.html  http://www.cnblogs.com/qyz123/archive/2007/05/12/743537.html  http://www.cnblogs.com/luluping/archive/2008/05/04/1181434.html  關鍵字:js驗證表單大全,用JS控制表單提交 ,javascript提交表單: 目錄: 1:js 字符串長度限制、判斷字符長度 、js限制輸入、限制不能輸入、textarea 長度限制 2.:js判斷漢字、判斷是否漢字 、只能輸入漢字 3:js判斷是否輸入英文、只能輸入英文 4:js只能輸入數字,判斷數字、驗證數字、檢測數字、判斷是否為數字、只能輸入數字 5:只能輸入英文字符和數字 6: js email驗證 、js 判斷email 、信箱/郵箱格式驗證 7:js字符過濾,屏蔽關鍵字 8:js密碼驗證、判斷密碼 2.1: js 不為空、為空或不是對象 、判斷為空 、判斷不為空 2.2:比較兩個表單項的值是否相同 2.3:表單只能為數字和"_", 2.4:表單項輸入數值/長度限定 2.5:中文/英文/數字/郵件地址合法性判斷 2.6:限定表單項不能輸入的字符 2.7表單的自符控制 2.8:form文本域的通用校驗函數 1. 長度限制 <script> function test() { if(document.a.b.value.length>50) { alert("不能超過50個字符!"); document.a.b.focus(); return false; } } </script> <form name=a οnsubmit="return test()"> <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea> <input type="submit" name="Submit" value="check"> </form> 2. 只能是漢字 <input οnkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')"> 3." 只能是英文 <script language=javascript> function onlyEng() { if(!(event.keyCode>=65&&event.keyCode<=90)) event.returnvalue=false; } </script> <input οnkeydοwn="onlyEng();"> 4. 只能是數字 <script language=javascript> function onlyNum() { if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) //考慮小鍵盤上的數字鍵 event.returnvalue=false; } </script> <input οnkeydοwn="onlyNum();"> 5. 只能是英文字符和數字 <input οnkeyup="value="/oblog/value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> 6. 驗證油箱格式 <SCRIPT LANGUAGE=javascript RUNAT=Server> function isEmail(strEmail) { if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true; else alert("oh"); } </SCRIPT> <input type=text οnblur=isEmail(this.value)> 7. 屏蔽關鍵字(這里屏蔽***和****) <script language="javascript1.2"> function test() { if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){ alert(":)"); a.b.focus(); return false;} } </script> <form name=a οnsubmit="return test()"> <input type=text name=b> <input type="submit" name="Submit" value="check"> </form> 8. 兩次輸入密碼是否相同 <FORM METHOD=POST ACTION=""> <input type="password" id="input1"> <input type="password" id="input2"> <input type="button" value="test" οnclick="check()"> </FORM> <script> function check() { with(document.all){ if(input1.value!=input2.value) { alert("false") input1.value = ""; input2.value = ""; } else document.forms[0].submit(); } } </script> 夠了吧 :) 屏蔽右鍵 很酷 οncοntextmenu="return false" οndragstart="return false" onselectstart="return false" 加在body中 二 2.1 表單項不能為空 <script language="javascript"> <!-- function CheckForm() { if (document.form.name.value.length == 0) { alert("請輸入您姓名!"); document.form.name.focus(); return false; } return true; } --> </script> 2.2 比較兩個表單項的值是否相同 <script language="javascript"> <!-- function CheckForm() if (document.form.PWD.value != document.form.PWD_Again.value) { alert("您兩次輸入的密碼不一樣!請重新輸入."); document.ADDUser.PWD.focus(); return false; } return true; } --> </script> 2.3 表單項只能為數字和"_",用于電話/銀行帳號驗證上,可擴展到域名注冊等 <script language="javascript"> <!-- function isNumber(String) { var Letters = "1234567890-"; //可以自己增加可輸入值 var i; var c; if(String.charAt( 0 )=='-') return false; if( String.charAt( String.length - 1 ) == '-' ) return false; for( i = 0; i < String.length; i ++ ) { c = String.charAt( i ); if (Letters.indexOf( c ) < 0) return false; } return true; } function CheckForm() { if(! isNumber(document.form.TEL.value)) { alert("您的電話號碼不合法!"); document.form.TEL.focus(); return false; } return true; } --> </script> 2.4 表單項輸入數值/長度限定 <script language="javascript"> <!-- function CheckForm() { if (document.form.count.value > 100 || document.form.count.value < 1) { alert("輸入數值不能小于零大于100!"); document.form.count.focus(); return false; } if (document.form.MESSAGE.value.length<10) { alert("輸入文字小于10!"); document.form.MESSAGE.focus(); return false; } return true; } //--> </script> 2.5 中文/英文/數字/郵件地址合法性判斷 <SCRIPT LANGUAGE="javascript"> <!-- function isEnglish(name) //英文值檢測 { if(name.length == 0) return false; for(i = 0; i < name.length; i++) { if(name.charCodeAt(i) > 128) return false; } return true; } function isChinese(name) //中文值檢測 { if(name.length == 0) return false; for(i = 0; i < name.length; i++) { if(name.charCodeAt(i) > 128) return true; } return false; } function isMail(name) // E-mail值檢測 { if(! isEnglish(name)) return false; i = name.indexOf(" at "); j = name dot lastIndexOf(" at "); if(i == -1) return false; if(i != j) return false; if(i == name dot length) return false; return true; } function isNumber(name) //數值檢測 { if(name.length == 0) return false; for(i = 0; i < name.length; i++) { if(name.charAt(i) < "0" || name.charAt(i) > "9") return false; } return true; } function CheckForm() { if(! isMail(form.Email.value)) { alert("您的電子郵件不合法!"

轉載于:https://www.cnblogs.com/zhujiasheng/p/6440394.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253324.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253324.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253324.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux系統下UDP發送和接收廣播消息小例子

分類&#xff1a; 網絡通信 2013-01-07 10:54 1336人閱讀 評論(6) 收藏 舉報 [cpp] view plaincopyprint?// 發送端 #include <iostream> #include <stdio.h> #include <sys/socket.h> #include <unistd.h> #include <sys/types.h>…

Kaggle 泰坦尼克

入門kaggle&#xff0c;開始機器學習應用之旅。 參看一些入門的博客&#xff0c;感覺pandas&#xff0c;sklearn需要熟練掌握&#xff0c;同時也學到了一些很有用的tricks&#xff0c;包括數據分析和機器學習的知識點。下面記錄一些有趣的數據分析方法和一個自己擼的小程序。 1…

語音交互設備 前端信號處理技術和語音交互過程介紹

一、前端信號處理 1. 語音檢測&#xff08;VAD&#xff09; 語音檢測&#xff08;英文一般稱為 Voice Activity Detection&#xff0c;VAD&#xff09;的目標是&#xff0c;準確的檢測出音頻信號的語音段起始位置&#xff0c;從而分離出語音段和非語音段&#xff08;靜音或噪…

css中偽類與偽元素的區別

一&#xff1a;偽類&#xff1a;1:定義&#xff1a;css偽類用于向某些選擇器添加特殊效果。 偽類其實與普通的css類相類似&#xff0c;可以為已有的元素添加樣式&#xff0c;但是他只有處于dom無法描述的狀態下才能為文檔樹中的元素添加樣式&#xff0c;所以將其稱為偽類。 2:偽…

【BZOJ1500】[NOI2005]維修數列 Splay

【BZOJ1500】[NOI2005]維修數列 Description Input 輸入的第1 行包含兩個數N 和M(M ≤20 000)&#xff0c;N 表示初始時數列中數的個數&#xff0c;M表示要進行的操作數目。第2行包含N個數字&#xff0c;描述初始時的數列。以下M行&#xff0c;每行一條命令&#xff0c;格式參見…

bzoj2588: Spoj 10628. Count on a tree(樹上第k大)(主席樹)

每個節點繼承父節點的樹&#xff0c;則答案為query(root[x]root[y]-root[lca(x,y)]-root[fa[lca(x,y)]]) #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm> using namespace std; const int maxn1…

圖文詳解YUV420數據格式

YUV格式有兩大類&#xff1a;planar和packed。 對于planar的YUV格式&#xff0c;先連續存儲所有像素點的Y&#xff0c;緊接著存儲所有像素點的U&#xff0c;隨后是所有像素點的V。 對于packed的YUV格式&#xff0c;每個像素點的Y,U,V是連續交*存儲的。 YUV&#xff0c;分為三個…

USB通信接口介紹

1. 概述 Usb Universal Serial Bus全稱通用串行總線&#xff0c;是一種支持熱插拔的高速串行傳輸總線&#xff0c;使用差分信號來傳輸數據。 USB設備可以直接和host通信&#xff0c;或者通過hub和host通信。一個USB系統中僅有一個USB主機&#xff0c;設備包括功能設備和hub&…

關于java中BufferedReader的read()及readLine()方法的使用心得

BufferedReader的readLine()方法是阻塞式的, 如果到達流末尾, 就返回null, 但如果client的socket末經關閉就銷毀, 則會產生IO異常. 正常的方法就是使用socket.close()關閉不需要的socket. 從一個有若干行的文件中依次讀取各行&#xff0c;處理后輸出&#xff0c;如果用以下方法…

HDCVI——一種創新性的高清視頻傳輸方案

什么是HDCVI 2012年11月&#xff0c;大華技術股份有限公司發布了具有自主知識產權的同軸高清傳輸接口技術HDCVI。HDCVI技術是一種基于已有SYV75-3或SYV75-5同軸電纜的高清視頻傳輸方法&#xff0c;能夠在低成本和較低質量的同軸電纜上實現超長距離高清視頻信號的可靠傳輸。相比…

typedef struct 用法

如果在c程序中我們寫&#xff1a;    typedef struct     {    int num;    int age;    }aaa,bbb,ccc;    這算什么呢&#xff1f;    我個人觀察編譯器&#xff08;VC6&#xff09;的理解&#xff0c;這相當于    typedef struct     …

智能機器人品牌簡介

隨著科技的發展&#xff0c;硬件的計算速度和大數據支撐&#xff0c;越來越多的智能化設備和產品出現在我們的面前&#xff0c;為我們的生活帶來更多便利。其中包括智能機器人&#xff0c;這種產品是有自己的“大腦”&#xff0c;可以接收人為指令&#xff0c;為人服務&#xf…

轉 Java對日期Date類進行加減運算一二三

請移步&#xff0c;https://blog.csdn.net/hacker_lees/article/details/74351838 &#xff0c;感謝博主分享轉載于:https://www.cnblogs.com/bestxyl/p/9790088.html

誕生之日 隨筆

今天我誕生了&#xff0c;祝自己誕生日happy&#xff0c;happy&#xff0c;happy&#xff01; 轉載于:https://www.cnblogs.com/xiaohuihui-/p/7594406.html

智能音箱 之 麥克風參數介紹

1. 定義 麥克風&#xff0c;學名為傳聲器&#xff0c;是將聲音信號轉換為電信號的能量轉換器件&#xff1b;聲—電轉換。 與揚聲器正好相反&#xff08;電—聲轉換&#xff09;&#xff0c;構成電聲設備的兩個終端&#xff0c;俗稱咪頭&#xff0c;麥克等。 是電聲系統的入口&a…

大屏幕行業發展現狀以及趨勢深刻剖析

瀏覽數: 689 海康威視&#xff1a;葉志龍 中國投影網&#xff1a;大屏幕顯示作為安防領域重要一環&#xff0c;而海康威視作為安防領域的佼佼者&#xff0c;請介紹海康威視大屏顯示系統DLP/LCD這兩大產品線&#xff1f;與行業同類產品相比&#xff0c;海康威視大屏拼接單元產品…

架構師是大忽悠嗎?阿里技術大牛告訴你真相!

來源&#xff1a;阿里云 作者&#xff1a;林昊&#xff08;花名畢玄&#xff09;&#xff0c;阿里巴巴技術保障部研究員&#xff0c;曾任淘寶網平臺架構部架構師。個人的研究方向主要為Java模塊化、動態化系統的構建&#xff0c;以及高性能大型分布式Java系統構建&#xff0c;主…

動手動腦-Java重載

有以下例子&#xff1a; 例&#xff1a; Using overloaded methods public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " square(7)); System.out.println("\nThe square of double 7.…

利用django框架,手把手教你搭建數據可視化系統(一)

如何使用django去構建數據可視化的 web,可視化的結果可以呈現在web上。 使用django的MTV模型搭建網站 基礎鋪墊—MTV模型 Created with Raphal 2.1.0Request服務器&#xff08;Djangoweb&#xff09;Response首先&#xff0c;要搞清楚我們去訪問服務器&#xff0c;服務器返回信…

智能音箱 之 揚聲器喇叭介紹

在全雙工語音交互的系統中&#xff0c;功放的質量是非常重要的&#xff0c;因為AEC回聲消除對信號失真 是非常敏感的。音頻通路的整體諧波失真需要控制在5%以內。 對于整個系統的諧波失真來說&#xff0c;揚聲器是最關鍵的因素&#xff0c;其次是功放&#xff0c;麥克風的很小…