牌填寫規范及注意事項
1、品牌填寫規范說明
1.1規范要求
品牌類別 | 品牌名稱 | 品牌中文名稱 | 品牌英文名稱 | 品牌首字母 | 商標持有人 | 備注 |
中英文品牌 | 布魯雅爾(Blueair) | 布魯雅爾 | Blueair | B | 布魯雅爾股份有限公司 | 1、括號必須是中文括號 |
2、品牌首字母:品牌名稱為中英文或中文時,為中文的第一個首字母 | ||||||
3、品牌首字母:品牌名稱為純英文時,為英文第一個首字母 | ||||||
4、品牌首字母:數字品牌 為第一個數字的拼音首字母 | ||||||
5、品牌首字母:首字母統一大寫 | ||||||
純中文品牌 | 旺仔 | 旺仔 | 旺仔 | W | 宜蘭食品工業股份有限公司;I LAN FOODS INDUSTRIALCO.,LTD. | 6、純中文/英文/數字品牌,中文名/英文名填寫其中一項名稱即可; |
純英文品牌 | a02 | a02 | a02 | L | 凱峰(亞洲)有限公司;AZONA (ASIAN) LIMITED | 7、商標持有人:如有中英文,請全部填寫。格式為:中文;英文。分號必須是英文格式 |
數字品牌 | 1230 | 1230 | 1230 | Y | 恩波麗(北京)水業有限公司 | 8、商標持有人:需與中國商標網上的商標持有人一致 |
1.2填寫規范示例
(1)品牌名稱嚴格采用該品牌官方描述名稱,包括品牌中的中文描述、英文字符的大小寫以及字符之間的符號(如兩個單詞間的空格有且僅有一個);
例 正確:THE FACESHOP 錯誤:the face shop、The face shop、thefaceshop
正確:玉蘭油(OLAY) 錯誤:玉蘭(olay)、玉蘭油(Olay)
(2)對于沒有明確官方描述的英文名稱,品牌采用每個單詞首字母大寫,單詞的其他字母小寫方式錄入;
(3)英文品牌所有字符(含非字母字符)皆須是在英文半角狀態下輸入的字符,不能出現在中文狀態下或全角字符狀態 下輸入的字符,中文與英文品牌的分隔符“(”和“)”在中文狀態下除外;
例 正確:O.S.A 錯誤:O。S。A
正確:衛博士(V-BOT) 錯誤:衛博士(V—BOT)
正確:B+ 錯誤:B+
正確:H&M 錯誤:H&M
(4)品牌同時有英文與中文名稱時,格式:中文(英文);
說明:中英文順序不能顛倒;品牌同時有英文與中文名稱時,中英文品牌不可單獨出現;英文名稱與中文名稱均須符合1中所述;
例 正確:三星(Samsung) 錯誤:Samsung三星
正確:小米(MIUI) 錯誤:MIUI(小米)
正確:菲詩小鋪(THEFACE SHOP) 錯誤:菲詩小鋪(THEFACESHOP)
正確:聯想(Lenovo) 錯誤:Lenovo、lenovo
(5)同一品牌有且只有一個品牌名稱,即官方發布的品牌;不能使用別稱、簡稱;
例 正確:聯想(Lenovo) 錯誤:聯想(ThinkPAD)、Lenovo、聯想
(6)企業通過特許經營、兼并,收購或其他形式而取得的外來品牌:品牌可作為獨立品牌出現;
例 ThinkPad、ThinkCentre與Lenovo/聯想均可作為單獨的品牌進行錄入
(7)品牌應錄入其全稱,不得錄入簡稱;
例 正確:索尼愛立信(Sony Ericsson) 錯誤:索愛
(8)對于沒有明確品牌的商品(如生鮮食品類商品)品牌定為“其他”;
例 蛋類組合(蘇北土雞蛋3份+新鮮鵪鶉蛋2份)毛重約3KG(1004292299)其品牌為“其它”
2、品牌錄入常見問題
Q1:如何正確填寫資質的有效期?
(1)請根據商標注冊證或核準續展注冊證書上注冊有效期限,正確填寫商標注冊證的有效期,不能填寫永久。
(2)若提供的是注冊商標受理通知書,有效期為24個月,從發文日期往后加算兩年,為到期日,例如發文日期為2013年3月5日,則有效期的到期日請填寫2015年3月5日。
Q2:如何正確填寫品牌中文名和品牌英文名?
請根據提供申請商標品牌的商標注冊證或注冊申請受理通知書上注冊的商標,正確填寫品牌名稱,其中以英文字母注冊的商標在填寫時要注意大小寫。僅為圖形注冊的商標暫不符合京東開放平臺的入駐標準。詳情請參閱本文檔第1條品牌填寫規范說明
Q3:商標注冊證過期后,如何填寫商標注冊證的有效期?
商標注冊證過期后,商標局會出具核準續展注冊證書,請在提供品牌資質時同商標注冊證書一并上傳,有效期填寫續展注冊證書上的有效期即可。
Q4:商家提供的商標是找代理公司注冊的,有商標使用合同可以認定商家是商標所有人么?
(1)商標注冊證書若存在轉讓,請在提供商標注冊證的同時將商標局出具的核準轉讓證明一并上傳。
(2)若僅提供商家與商標注冊人之間簽署的商標轉讓合同(即使已由公證處公證)也不能認為貴公司為此商標的所有權人,只有提供了商標局出具的公示版本的商標轉讓證明才可以認定貴公司是此商標的所有人。
Q5:如何提供完整有效的授權鏈?
(1)品牌授權要提供完整有效的授權鏈,從商標注冊人開始授權,到貴公司的授權為止(所有授權需在有效期內);
(2)提交的授權文件中除應有授權方的公章以外,還都要加蓋入駐公司的公章(紅章)。
(3)授權鏈中,每級被授權公司或個人都要有再轉授權的權利,且授權期限不得超出其自身所獲得的商標使用期限。
Q6:不是商標注冊人,如何申請旗艦店?
申請入駐的商家或是商家法定代表人均不是申請品牌的商標持有人,想申請開設旗艦店需要提供由商標注冊人出具的排他性授權。其中外國公司注冊的品牌,僅由其中國的總代理向商家出具排他授權申請旗艦店的,不符合京東開放平臺相應的店鋪規范。排他授權模板請參閱:http://help.jd.com/rule/ruleDetail.action?ruleId=2376
Q7:如何正確填寫檢測報告的有效期?
商品檢測報告的使用期限為一年,從送檢日或抽樣日期算起,往后加算一年,為到期日。例如:2013年3月5日送檢,到期日請填寫2014年3月5日。
Q8:如何理解請提供質檢報告上委托單位與品牌商的關系證明?
檢測報告上的送檢單位若不是申請品牌授權鏈里出現過的公司,需要提供質檢報告上送檢單位與品牌商的關系證明,如委托加工協議、委托送檢證明等。請勿提供檢測報告上送檢單位給入駐公司出具的銷售授權文件,否則與授權鏈矛盾。
Q9:如何提交正確的檢測報告?
商品檢測報告要提交申請品牌近一年的一套完整的檢測(即送檢日與上傳資料日相距不到一年),檢測報告上的商標要與后臺填寫的申請品牌一致,若貴公司上傳資料日申請品牌是“A”,檢測報告上的品牌是“B”,則此份檢測報告不符合標準,需要更換申請品牌“A”的檢測報告。
Q10:經營進口商品需要提供什么資料?
進口品牌商品要提供一份近一年內送檢的報關單(即送檢日期與上傳資料日相離不到一年)和海關出具的檢驗檢疫證明;其中,檢驗檢疫證明不是所有進口商品都有,根據海關要求送檢。報關單上的經營單位或收貨單位必須出現在品牌的授權鏈里,若授權鏈里沒有報關單上的經營單位或收貨單位,需提供其與品牌方的關系證明。
熱銷14000余套的京東品類通用模板熱薦: http://zx.jd.com/detail.html?id=16592
如果大家在京東裝修店鋪的時候有什么疑問或購買京東裝修模板都可以關注威嘉科技,給小編留言!
用于存儲事件的信息
? 說明
? 事件對象是由用戶產生的(鼠標單擊或者按一下鍵盤)
? 事件對象存儲 對應 事件信息
? 事件對象存儲信息有:
事件的類別,如:click,keydown等等
點擊事件的位置
點擊的哪一個鍵
等等
? 用于阻止事件流,用于阻止瀏覽器默認動作;
? ie6、7、8
通過關鍵詞event獲取
nodeObj.onclick=function() {
window.event
}
? 主流瀏覽器
通過方法第一個參數獲取
nodeObj.onclick=function(evt) {
evt
}
思考:形參為什么不寫event系統關鍵詞不要用,一般用evt
? 兼容
nodeObj.onclick=function(evt) {
var evt=window.event ? window.event : evt;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
#div1 {width: 800px; height: 800px; background: red; }
#div2 {width: 400px; height: 400px; background: blue;}
#div3 {width: 200px; height: 200px; background: green; }
</style>
</head>
<body>
<form action="提交給老范.html" id="form1">
<input type="text" name="">
<input type="submit" value="提交">
</form>
<script>
window.onkeydown=function(evt) {
var evt=window.event ? window.event : evt;
// console.log(evt);
// 當表單按下回車鍵則提交
if (evt.keyCode==13) {
var form1Obj=document.getElementById('form1');
form1Obj.submit();
}
}
</script>
</body>
</html>
說明:完善表單提交瑕疵,當獲取焦點的時候可以按回車鍵直接提交,但是沒有獲取焦點就通過js觸發提交(but 必須判斷只能是回車鍵才可以提交)
? 說明
DOM1級事件 return false;
DOM1級事件或者DOM2級事件 evt.preventDefault();
? 案例
阻止用戶提交表單
? 說明
evt.screenX 相對于屏幕的左上角為原點
evt.screenY
evt.clientX 相對于瀏覽器的客戶端左上角為原點(不計算滾動條位置)
evt.clientY
evt.pageX 相對于瀏覽器的客戶端左上角為原點(計算滾動條的位置)
evt.pageY
evt.offsetX 以自己的左上角為原點
evt.offsetY
? 圖解
? 案例
點擊增加水果
<script>
document.body.style.backgroundImage="url('ft/bj.jpg')";
document.body.style.backgroundSize='1366px 768px';
document.onclick=function(evt){
imgobg=document.createElement('img');
i=parseInt(10*Math.random());
imgobg.setAttribute('src','ft/sg/'+i+'.png');
imgobg.style.width="100px";
//隨機顯示位置
imgobg.style.position='absolute';
imgobg.style.top=evt.clientY + 'px';
imgobg.style.left=evt.clientX + 'px';
document.body.appendChild(imgobg);
}
</script>
? 說明:
? ie6、7、8:event.cancelBubble=true;
? 主流瀏覽器:evt.stopPropagation();
在面向對象編程中,類(class)是對象(object)的模板,定義一組對象公有的屬性和方法(類是抽象的,對象具體的)
? 在PHP中,可以通過實例化一個類來獲取對象
? 而在JavaScript中沒有“類”,但是可以用過另一種方法定義自定義“類”,然后創建
對象,也可以直接創建對象(對象可以有默認成員,也可以后期動態添加成員)
總結:在js里可以通過多種方式創建對象
1)Array類
var arr=new Array();
var arr2=new Array();
屬性
對象.length 獲取數組的長度
方法
對象.pop() 彈出數組的最后一個元素,并返回彈出的值
對象.push(n); 給數組添加一個元素,并返回新數組的長度
等等
2)Date類
3)Math類
4)String類
1)概念
? 明確:類(class)是對象(object)的模板,然后“對象”根據這個模板生成。
? 說明1:JS語言中使用構造函數(constructor)作為對象的模板。所謂構造函數,
就是提供一個生成對象的模板,并描述對象的基本結構的函數。
? 說明2:一個構造函數,可以生成多個對象,每個對象都有相同的結構。
2)定義構造函數
fucntion 函數名() {
}
經驗總結:構造函數一般情況下函數名首字母大寫
︴思考: 思考如果通過構造函數創建對象
通過new關鍵詞+函數名()即可創建對象
? 代碼
說明:函數名不區分大小寫,但是強烈推薦大寫
︴思考: 構造函數和普通函數有什么區別?
答:沒有區別,如果直接調用則是普通函數,如果是new+函數名()則構造函數,用于創建對象
腳下留心:不要聲明構造函數,當普通函數使用(所以為了明確后期構造函數就使用new實例化,普通函數就直接調用則通過函數名首字母來區分是構造函數還是普通函數)
︴練習: 描述一個人的信息
? 提出問題
如何將php面向對象代碼(code)轉換為 js面向對象代碼(code)
? 分析步驟
? 定義Person構造函數
? 豐富Person構造函數成員(屬性和方法)
? 創建對象
? 解決問題
<script>
//定義構造函數
function Preson(){
//使用this定義名稱屬性
this.name='郭美美';
//使用this定義年齡屬性
this.age=28;
console.log(type);
}
//2.創建對象
peObj=new Preson();
console.log(peObj);
</script>
︴思考:如果給構造函數傳遞參數
答:仿普通方法傳參
︴思考: js中this含義,如何使用?
1)BOM中,代表window對象
證明
2)在事件中,代表元素/節點對象
證明.
3)在函數/方法里邊 代表調用該函數/方法的當前對象
證明.
4)在面向對象封裝概念中【★】
? 通過this來聲明類的公有屬性
? 通過var來聲明類的私有屬性
證明.
var 變量名=值; //添加私有成員
this.變量名=值; //添加公有成員
var 方法名=function() {} //添加私有方法成員
this.方法名=function() {} //添加公有方法成員
︴練習
定義人構造函數,設置姓名屬性和eat方法 并 創建對象輸出和調用
︴思考: 如果是上述代碼是name是私有屬性,外面如何輸出
答:明確,外面不能直接輸出
解決:通過內部方法調用私有屬性
︴思考: 如果給對象添加屬性和方法?是否會影響構造函數?
答:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
//定義人構造函數,設置姓名屬性和eat方法 并 創建對象輸出和調用
function Person() {
//定義姓名屬性
this.name='張三';
this.getName=function() {
console.log(name);
}
//定義eat方法
this.eat=function() {
alert('吃飯日語');
}
}
//創建對象
var obj=new Person();
console.log(obj);
//輸出obj對象里的name屬性
console.log(obj.name); //張三
//修改obj的name屬性
obj.name='趙四';
console.log(obj.name);
//創建對象2
var obj1=new Person();
console.log(obj1.name);
</script>
</body>
</html>
︴練習1:刪除對象屬性
語法:delete 對象.屬性
︴練習2:遍歷對象成員
1)語法
for (變量名 in 對象) {
}
腳下留心:變量名指的是對象的鍵
2)使用
通過指定構造函數創建對象,那么我們稱該對象的 構造函數名稱 為構造器
function Fn() {}
var obj=new Fn(); obj對象構造器是:fn
function Fun2() {}
var obj=new Fun2(); obj對象構造器是:Fun2
獲取對象構造器:對象.constructor
返回對象的類型:typeof 變量名 或者 typeof(變量名)
判斷對象是否是指定構造函數的實例:對象 instanceof 構造器
JavaScript 是世界上最流行的腳本語言。 JavaScript 是屬于 web 的語言,它適用于 PC、筆記本電腦、平板電腦和移動電話。 JavaScript 被設計為向 HTML 頁面增加交互性。 許多 HTML 開發者都不是程序員,但是 JavaScript 卻擁有非常簡單的語法。
JavaScript對大小寫敏感。
1.1 JavaScript的用法
HTML 中的腳本必須位于 <script> 與 </script> 標簽之間。
腳本可被放置在 HTML 頁面的 <body> 和 <head> 部分中。
? <script> 標簽
如需在 HTML 頁面中插入 JavaScript,請使用 <script> 標簽。
<script> 和 </script> 會告訴 JavaScript 在何處開始和結束。
<script> 和 </script> 之間的代碼行包含了 JavaScript:
那些老舊的實例可能會在 <script> 標簽中使用 type="text/javascript"。現在已經不必這樣做了。JavaScript 是所有現代瀏覽器以及 HTML5 中的默認腳本語言。
? <body> 中的 JavaScript
在本例中,JavaScript 會在頁面加載時向 HTML 的 <body> 寫文本:
1.2 JavaScript 數據類型
JavaScript 有多種數據類型:數字,字符串,數組,對象等等:
在 JavaScript 中有 5 種不同的數據類型:
l string
l number
l boolean
l object
l function
3 種對象類型:
l Object
l Date
l Array
2 個不包含任何值的數據類型:
l null
l undefined
你可以使用 typeof 操作符來查看 JavaScript 變量的數據類型。
1.3 JavaScript函數
我們把一個 JavaScript 函數放置到 HTML 頁面的 <head> 部分:
我們把一個 JavaScript 函數放置到 HTML 頁面的 <body> 部分:
也可以把腳本保存到外部文件中。外部文件通常包含被多個網頁使用的代碼。
外部 JavaScript 文件的文件擴展名是 .js。
如需使用外部文件,請在 <script> 標簽的 "src" 屬性中設置該 .js 文件:
1.4 JavaScript注釋
雙斜杠 // 后的內容將會被瀏覽器忽略。
1.5 JavaScript變量
在編程語言中,變量用于存儲數據值。
JavaScript 使用關鍵字 var 來定義變量, 使用等號來為變量賦值:
1.6 JavaScript操作符
1.7 JavaScript關鍵字
和其他任何編程語言一樣,JavaScript 保留了一些標識符為自己所用。
JavaScript 保留了一些關鍵字,這些關鍵字在當前的語言版本中并沒有使用,但在以后 JavaScript 擴展中會用到。
JavaScript 標識符必須以字母、下劃線(_)或美元符($)開始。
后續的字符可以是字母、數字、下劃線或美元符(數字是不允許作為首字符出現的,以便 JavaScript 可以輕易區分開標識符和數字)。
以下是 JavaScript 中最??重要的保留字(按字母順序):
1.8 JavaScript If...Else 語句
通常在寫代碼時,總是需要為不同的決定來執行不同的動作。可以在代碼中使用條件語句來完成該任務。
在 JavaScript 中,我們可使用以下條件語句:
l if 語句 - 只有當指定條件為 true 時,使用該語句來執行代碼
l if...else 語句 - 當條件為 true 時執行代碼,當條件為 false 時執行其他代碼
l JavaScript三目運算 - 當條件為true 時執行代碼,當條件為 false 時執行其他代碼
l if...else if....else 語句- 使用該語句來選擇多個代碼塊之一來執行
l switch 語句 - 使用該語句來選擇多個代碼塊之一來執行
1.9 JavaScript for循環
JavaScript 支持不同類型的循環:
l for - 循環代碼塊一定的次數
l for/in - 循環遍歷對象的屬性
l while - 當指定的條件為 true 時循環指定的代碼塊
l do/while - 同樣當指定的條件為 true 時循環指定的代碼塊
1.10 JavaScript JSON
JSON 是用于存儲和傳輸數據的格式。
JSON 通常用于服務端向網頁傳遞數據 。
什么是 JSON?
l JSON 英文全稱 JavaScript Object Notation
l JSON 是一種輕量級的數據交換格式。
l JSON是獨立的語言 *
l JSON 易于理解。
注:JSON 使用 JavaScript 語法,但是 JSON 格式僅僅是一個文本。文本可以被任何編程語言讀取及作為數據格式傳遞。
以下 JSON 語法定義了 employees 對象: 3 條員工記錄(對象)的數組:
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
JSON 語法規則:
l 數據為 鍵/值 對。
l 數據由逗號分隔。
l 大括號保存對象
l 方括號保存數組
JSON 字符串轉換為 JavaScript 對象(兩種方式):
首先,創建 JavaScript 字符串,字符串為 JSON 格式的數據:
var text='{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
l 使用 JavaScript 內置函數 JSON.parse() 將字符串轉換為 JavaScript 對象:
var obj=JSON.parse(text);
l JavaScript 函數 eval() 可用于將 JSON 文本轉換為 JavaScript 對象。
var obj=eval ("(" + txt + ")");
eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,然后生成 JavaScript 對象。必須把文本包圍在小括號中,這樣才能避免語法錯誤。
eval() 函數可編譯并執行任何 JavaScript 代碼。這隱藏了一個潛在的安全問題。
使用 JSON 解析器將 JSON 轉換為 JavaScript 對象是更安全的做法。JSON 解析器只能識別 JSON 文本,而不會編譯腳本。而且 JSON 解析器的速度更快。
最后,在頁面中使用新的 JavaScript 對象:
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML=
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
使用JSON.stringify方法Javascript對象轉換為JSON字符串:
var str={"name":"小牛學堂", "site":"http://www.edu360.cn"}
str_pretty1=JSON.stringify(str)
alert(str_pretty1);
1.11 Javascript void
href="#"與href="javascript:void(0)"的區別:
l # 包含了一個位置信息,默認的錨是#top 也就是網頁的上端。
l 而javascript:void(0), 僅僅表示一個死鏈接。
l 在頁面很長的時候會使用 # 來定位頁面的具體位置,格式為:# + id。
l 如果你要定義一個死鏈接請使用 javascript:void(0) 。
<a href="javascript:void(0);">點我沒有反應的!</a>
<a href="#pos">點我定位到指定位置!</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<p id="pos">尾部定位點</p>
1.12 Javascript驗證表單
JavaScript 可用來在數據被送往服務器前對 HTML 表單中的這些輸入數據進行驗證。
表單數據經常需要使用 JavaScript 來驗證其正確性:
l 驗證表單數據是否為空?
l 驗證輸入是否是一個正確的email地址?
l 驗證日期是否輸入正確?
l 驗證表單輸入內容是否為數字型?
必填(或必選)項目
下面的函數用來檢查用戶是否已填寫表單中的必填(或必選)項目。假如必填或必選項為空,那么警告框會彈出,并且函數的返回值為 false,否則函數的返回值則為 true(意味著數據沒有問題):
function validateForm()
{
var x=document.getElementById(“”).value;
if (x==null || x=="")
{
alert("姓名必須填寫");
return false;
}
}
……
<form name="myForm" action="test.html" onsubmit="return validateForm()" method="post">
姓名: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
E-mail 驗證:xxxx@asd.cc
下面的函數檢查輸入的數據是否符合電子郵件地址的基本語法。
意思就是說,輸入的數據必須包含 @ 符號和點號(.)。同時,@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個點號:
function validateForm(){
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
alert("不是一個有效的 e-mail 地址");
return false;
}
}
……
<form name="myForm" action="test.html" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="提交">
</form>
1.13 JavaScript正則表達式
正則表達式(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE)使用單個字符串來描述、匹配一系列符合某個句法規則的字符串搜索模式。
搜索模式可用于文本搜索和文本替換。
1) 什么是正則表達式?
正則表達式是由一個字符序列形成的搜索模式。
當你在文本中搜索數據時,你可以用搜索模式來描述你要查詢的內容。
正則表達式可以是一個簡單的字符,或一個更復雜的模式。
正則表達式可用于所有文本搜索和文本替換的操作。
2) 語法
/正則表達式主體/修飾符(可選)
3) 使用字符串方法
在 JavaScript 中,正則表達式通常用于兩個字符串方法 : search() 和 replace()。
search() 方法 用于檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,并返回子串的起始位置。
replace() 方法 用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
function myFunction() {
var str="My Test!";
// var n=str.search("Test");
var n=str.search(/test/i);
alert(n);
var str="My Test";
var txt=str.replace(/test/i,"Javascript");
alert(txt);
}
4) 正則表達式修飾符
修飾符 可以在全局搜索中不區分大小寫:
i執行對大小寫不敏感的匹配。
g執行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
m執行多行匹配。
5) 正則表達式模式
l 方括號用于查找某個范圍內的字符:
[abc]查找方括號之間的任何字符。
[0-9]查找任何從 0 至 9 的數字。
(x|y)查找任何以 | 分隔的選項。
l 元字符是擁有特殊含義的字符:
\d查找數字。
\s查找空白字符。
\uxxxx查找以十六進制數 xxxx 規定的 Unicode 字符。
l 量詞:
n+匹配任何包含至少一個 n 的字符串。
n*匹配任何包含零個或多個 n 的字符串。
n?匹配任何包含零個或一個 n 的字符串。
6) 使用 RegExp 對象
在 JavaScript 中,RegExp 對象是一個預定義了屬性和方法的正則表達式對象。
test() 方法是一個正則表達式方法。
test() 方法用于檢測一個字符串是否匹配某個模式,如果字符串中含有匹配的文本,則返回 true,否則返回 false。
Eg:
/\d/.test(“123”) 返回true。
/^1\d{10}$/
/^0\d{2,3}-?\d{7,8}$/
驗證郵箱的正則表達式:
function isEmail(str){
var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
return reg.test(str);
}
1.14 Javascript高級編程
1.14.1 Javascript對象
1) 創建 JavaScript 對象
通過 JavaScript,能夠定義并創建自己的對象。
創建新對象有兩種不同的方法:
l 定義并創建對象的實例
l 使用函數來定義對象,然后創建新的對象實例
var person=new Object();
person.firstname="John";
person.lastname="Doe";
person.age=50;
p={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
2) 使用對象構造器
使用函數來構造對象:
function person(firstname,lastname,age,eyecolor){
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
var myFather=new person("John","Doe",50,"blue");
alert(myFather.firstname + " is " + myFather.age + " years old.");
在JavaScript中,this通常指向的是我們正在執行的函數本身,或者是指向該函數所屬的對象(運行時)。
1.14.2 Javascript Array(數組)對象
1) 什么是數組?
數組對象是使用單獨的變量名來存儲一系列的值。
2) 創建一個數組,
有三種方法, 下面代碼定義了一個名為 myCars的數組對象:
1: 常規方式:
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
2: 簡潔方式:
var myCars=new Array("Saab","Volvo","BMW");
3: 字面:
var myCars=["Saab","Volvo","BMW"];
3) 訪問數組
通過指定數組名以及索引號碼,你可以訪問某個特定的元素。
以下實例可以訪問myCars數組的第一個值:
var name=myCars[0];
以下實例修改了數組 myCars 的第一個元素:
myCars[0]="Opel";
4) 在一個數組中你可以有不同的對象
所有的JavaScript變量都是對象。數組元素是對象。函數是對象。
因此,你可以在數組中有不同的變量類型。
可以在一個數組中包含對象元素、函數、數組:
myArray[0]=Date.now;
myArray[1]=myFunction;
myArray[2]=myCars;
數組方法和屬性
使用數組對象預定義屬性和方法:
var x=myCars.length // myCars 中元素的數量
var y=myCars.indexOf("Volvo") // "Volvo" 值的索引值
5) 數組常用方法
合并數組 - concat()
刪除數組的最后一個元素 - pop()
數組的末尾添加新的元素 - push()
將一個數組中的元素的順序反轉排序 - reverse()
刪除數組的第一個元素 - shift()
從一個數組中選擇元素 - slice()
數組排序(按字母順序升序)- sort()
數字排序(按數字順序升序)- sort() eg:var arrs=[40,100,1,5,25,10]; arrs.sort(function(a,b){return a-b});
數字排序(按數字順序降序)- sort() eg:var arrs=[40,100,1,5,25,10]; arrs.sort(function(a,b){return b-a});
轉換數組到字符串 -toString()
*請認真填寫需求信息,我們會在24小時內與您取得聯系。