本文目錄一覽:
- 1、用Js判斷email的一段代碼
- 2、用javascript二維數組做出下圖效果的代碼,只需三行三列,謝謝!
- 3、javascript怎麼定義函數
- 4、js中[“+i+”] 和[“i”]和[+i+]分別什麼意思
- 5、如何編寫javascript代碼,實現三行五列的表格數組顯示
- 6、用javascript做出這種效果的代碼,三行三列就夠了,謝謝!
用Js判斷email的一段代碼
可以使用正則式進行郵箱格式判斷:
/**
* 此函數進行Email格式檢測.
* @param str 待檢測字符串.
* @return 是Email格式返回真.
*/
function isEmail(str){
res = /^[0-9a-zA-Z_\-\.]+@[0-9a-zA-Z_\-]+(\.[0-9a-zA-Z_\-]+)*$/;
var re = new RegExp(res);
return !(str.match(re) == null);
}
這是一個JS函數.調用時傳入要判斷的串,返回是否符合格式.
共三行代碼.後兩行就是判斷串是否符合第一行規定的正則式.
關鍵在於第一行的正則式.只要你弄明白了.以後的什麼判斷都可以用了,寫一個正則式就行了..
正則式可以看作是對字符串的描述.他描述的是規則..
在JS裏面.正則式以/^開頭,以$/結尾.中間的就是具體規則的描述.現在看看第一行去掉頭尾後,中間的部分:[0-9a-zA-Z_\-\.]+@[0-9a-zA-Z_\-]+(\.[0-9a-zA-Z_\-]+)*
正則式一般是這樣描述字串的:某個(或某些)字符重複多少次,+?*這幾個表示次數:+表示至少一次?表示一次或零次*表示無數次.列如:a*則可以表示空,a,aa,aaa,…等,如果是a?則表示a或者空.如果要表示某幾個字符,則用中括號把他們括起來,中括號就表示其中的一個.例如,要表示數字的串就是[0123456789]*,當然這樣寫字符太多了,所以有一個-表示中間的所有,那麼,就可以這樣寫[0-9]*
如果要表示小數,則是[0-9]*.[0-9]*,這是不嚴格的寫法,只要一串數據之間有一個點就符合了.如果我們再擴展一下,如果小數點後面沒有數據,則可以省略小數點,且小數點前面一定要有數據,則正則式為[0-9]+(.[0-9]+)?.
現在再看上面的正則式,還不能滿足你要的@前面不能有點的要求.改成下面就行了:
res = /^[0-9a-zA-Z_\-\.]*[0-9a-zA-Z_\-]@[0-9a-zA-Z_\-]+(\.[0-9a-zA-Z_\-]+)*$/;
這樣就是在@前面的字符就是不能為.的了.
補充說一下:如果字符後面沒有次數,表示一次這個字符.另外,由於-是一個表範圍的符號,所以如果在中括號里要表示這個字符的話,就加上轉義符\,也就是說\-是表示的一個字符”-“,如果要表示\則要使用\\..
大體就講這麼多.如果想更深入的了解正則式,請到網上去查一下其他教程.
用javascript二維數組做出下圖效果的代碼,只需三行三列,謝謝!
第一:javascript只有一維數組,如果有二維也是一維變的
第二:開始寫
目測,姓名是一維索引,課程是二維索引
一個人對應多個課程
var array = [];
var names = new Array(‘李麗’,’王明’,’周山’);
var classes = new Array({‘英語’:85,’高數’:78,’C語言’:86},{‘英語’:81,’高數’:82,’C語言’:75},{‘英語’:86,’高數’88,’C語言’:91});
for(var i=0;inames.length;i++){
var bp1:
for(var j=i;jclasses.length;j++){
arr[i] = names[i][j] = classes[j];
break bp1;
}
}
其實就是 array[0][0]=’李麗’ , array[0][1].’英語’= 85
var array = [
[
‘李麗’,
{‘英語’:85,’高數’:78,’C語言’:86}
],
[
‘王明’,
{‘英語’:81,’高數’:82,’C語言’:75}
],
[
‘周山’,
{‘英語’:86,’高數’88,’C語言’:91}
]
];
javascript怎麼定義函數
1:調用關鍵字function來構造
function distance(x1,x2,y1,y2)
{
var dx=x2-x1;
var dy=y2-y1;
return Math.sqrt(dx*dx+dy*dy);
}
2:使用Function()構造函數(請注意與上面的大小寫)
1
var f=new Function*”x”,”y”,”return x*y”);
這行代碼創建了一個新函數,該函數和你所熟悉的語法定義的函數基本上時等價的:
1
2
3
4
function f(x,y)
{
return x*y;
}
Functino()構造函數可以接受任意多個字符串參數。它的最後一個參數時函數的主體,其中可以包含任何JavaScript語句,語句之間用分號分隔。其他的參數都是用來說明函數要定義的形式參數名的字符串。如果你定義的函數沒有參數,那麼可以只需給構造函數傳遞一個字符串(即函數的主體)即可。
注意,傳遞給構造函數Function()的參數中沒有一個用於說明它要創建的函數名。用Function()構造函數創建的未命名函數有時被成為「匿名函數」。
你可能非常想知道Function()構造函數的用途是什麼。為什麼不能只用function語句來定義所有的函數呢?原因是Function()構造函數允許我們動態地建立和編譯一個函數,它不會將我們限制在function語句預編譯的函數體中。這樣做帶來的負面影響效應就是每次調用一個函數時,Function()構造函數都要對它進行編譯。因此,在循環體中或者在經常使用的函數中,我們不應該頻繁地調用這個構造函數。
使用Function()構造函數的另一個原因是它能夠將函數定義為JavaScript表達式的一部分,而不是將其定義一個語句,這種情況下使用它就顯得比較的方面,甚至可以說精緻。
3:函數直接量
函數直接量是一個表達式,它可以定義匿名函數。函數直接量的語法和function語句非常相似,只不過它被用作表達式,而不是用作語句,而且也無需指定函數名。下面的三行代碼分別使用function()語句、Funciont()構造函數和函數直接量定義了三個基本上相同的函數:
1
2
3
function f(x){return x*x};
var f=new Function(“x”,”return x*x;”);
var f=function(x){reurn x*x};
在JavaScript1.1中,可以使用構造函數Function()來定義函數,在JavaScript1.2和其後的版本中,還可以使用函數直接量來構造函數。你應該注意這兩種方法之間的重要差別。
首先,構造函數Function()允許在運行時動態地創建和編譯JavaScript代碼。但是函數直接量卻是函數結構的一個靜態部分,就像function語句一樣。
其次,作為第一個差別的必然結果,每次調用構造函數Function()時都會解析函數體並且創建一個新東漢數對象。如果對構造函數的調用出現在一個循環中,或者出現在一個經常被調用的函數中,這種方法的效率非常低。另一個方面,函數直接量或出現在循環和函數中的嵌套函數不是在每次調用時都被重新編譯,而且每當遇到一個函數直接量時也不創建一個新的函數對象。
Function()構造函數和函數之間量之間的第三點差別是,使用構造函數Function()創建的函數不使用詞法作用域,相反的,它們總是被當作頂級函數來編譯,就像下面代碼所說明的那樣:
js中[“+i+”] 和[“i”]和[+i+]分別什麼意思
i++和++I是C語言的運算符,i++是後綴遞增的意思,++I是前綴遞增的意思,「I」沒有任何意義,它在程序中出錯並詢問「[」或「]」操作符的含義,因為沒有「[」或「]」操作符。
i++是後綴遞增的意思,i++是先執行表達式運算,再執行自遞增運算。i++等價於I=I+1,可以看到結果是一致的。
++I是前綴遞增的意思,++I是第一個自遞增或自減的運算,然後是表達式運算。可以發現,僅從I的值來看,++I和i++的最終I值是相同的,因為I增加了1。
擴展資料:
C語言操作符的特性
1.C語言是一種程序語言,具有結構化的程序設計、可變的作用域和遞歸的功能。
2.通過C語言傳遞的參數是通過值傳遞的,通過值傳遞的指針也是可以傳遞的。
3.不同的變量類型可以與結構組合。
4.只有32個保留字被保留,這使得變量和函數的命名更加靈活。
5.一些變量類型可以被轉換,例如整數和字符變量。
6.通過指針,C語言可以很容易地對內存進行底層控制。
7.預處理器使C語言編譯更加靈活。
如何編寫javascript代碼,實現三行五列的表格數組顯示
var a = array[[“a”,”b”,”c”,”d”,”e”][][]]; 這種格式加for循環
創建換後在追加到相應的位置 參考javascript dom 文檔 相信你行的
用javascript做出這種效果的代碼,三行三列就夠了,謝謝!
html
script
function initTable(){
var table=document.getElementById(“div-table”);
var data=”table border=’1′ cellpadding=’0′ cellspacing=’0′”;
data+=”colgroupcol style=’width:110px;’/col style=’width:110px;’/col style=’width:110px;’//colgroup”;
data+=”trtd姓名/tdtd英語/tdtd高數/td/tr”;
data+=”trtd李麗/tdtd85/tdtd78/td/tr”;
data+=”trtd王明/tdtd81/tdtd82/td/tr”;
data+=”/table”;
table.innerHTML=data;
}
window.onload=initTable;
/script
body
div id=”div-table”/div
/body
/html
原創文章,作者:PIVT,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150249.html