JavaScript(正則表示式、表單驗證、郵箱驗證、函式、HTML DOM)
正則表示式
1.定義:它是由一個字元序列形成的搜尋模式,當在文字中搜索資料時,可以用搜索模式來描述你要查詢的內容。它可以是一個簡單的字元,或一個更復雜的模式。它可用於所有文字搜尋和文字替換操作。
2.Eg:var patt = /youngamber/i
其中,/youngamber/i
是正則表示式,youngamber
是用於檢索的模式,i是修飾符(搜尋不區分大小寫)
3.使用字串的方法
(1)search()
- 使用正則表示式
Eg:使用正則表示式搜尋“youngamber”,且不區分大小寫。
var str = "Visit youngamber";
var n = str.search(/youngamber/i );
- 使用字串
可以使用字串為引數,字串引數會轉換為正則表示式。
(2)replace()
- 使用正則表示式
Eg:使用正則表示式且不區分大小寫將字串中的Jingdogegg替換為youngamber
var str = "visit Jingdogegg";
var res = str.replace(/jingdogegg/i,"youngamber");
- 使用字串
replace()方法將接受字串為引數。
4.正則表示式修飾符
i 執行對大小寫不敏感的匹配
g 執行全域性匹配
m 執行多行匹配
表單驗證
function validateForm (){
var x = document.form["myForm"]["fname"].value;
if(x==null || x==" "){
alert("First name must be filled out");//沒填寫fname時彈出警告框
return false;
}
}
E-mail驗證
檢查輸入資料是否符合電子郵件地址的基本語法,輸入的資料必須包含@和 . ,同時@不可以是郵件地址的首字元,並且@之後至少需要有一個 . 。
function validateForm()
{
var x = document.forms["myForm" ]["email"].value;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if(stpos<1 || dotpos<atpos + 2 || dotpos + 2>=x.length)
{
alert("Not a valid e-mail address");
return false;
}
}
函式
1.函式的呼叫
<p id="demo"></p>
<script>
function myFunction(a,b)
{
return a*b;//輸出12
}
document.getElementById("demo").innerHTML=myFunction(4,3);
</script>
- 函式的自動呼叫
<p id="demo"></p>
<script>
(function(){
document.getElementById("demo").innerHTML="Hello AmberYoung!";
})();
</script>
- 作為函式方法呼叫函式
call()和apply()是預定義的函式方法,兩個方法的第一引數必須是物件本身。
//call
function myFunction(a,b){
return a*b;
}
myFunction.call(myObject,10,2);
//apply
function myFunction(a,b){
return a*b;
}
myArray = [10,2]
myFunction.apply(myObject,myArray);
2.函式表示式
var x = function(a,b){return a*b};//函式可以儲存在變數中
//在函式表示式儲存變數後,變數也可以作為一個函式使用
var x = function(a,b){return a*b};
var z = x(4,3);
3.函式提升
//提升hoisting是javascript預設將當前作用域提升到前面去的行為
myFunction(5)
function myFunction(y){
return y*y;
}
注意:使用表示式定義函式時無法提升。
4.arguments.length屬性
返回函式呼叫過程收到的引數個數
<script>//尋找最大值
function findMax() {
var i, max = arguments[0];
if(arguments.length < 2){
return max;
}
for (i = 1; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
document.getElementById("demo").innerHTML = findMax(4, 5, 6);
</script>
5.預設引數
如果函式在呼叫時缺少引數,引數會預設設定為undefined。
6.傳遞引數
- 通過值傳遞函式
<script>
var x = 1;
function myFunction(x){
x++;//修改引數x的值,將不會修改在函式外定義的變數x
console.log(x);//2
}
myFunction(x);//2
console.log(x);//1
</script>
- 通過物件傳遞引數
<script>
var obj = {x=1};
function myFunction(obj){
obj.x++;//修改物件obj.x的值,函式外定義的obj也將會修改
console.log(obj.x);//2
}
myFunction(obj);//2
console.log(obj.x);//2
</script>
7.內嵌函式
在javascript中,所有函式都能訪問他們上一層的作用域,javascript支援巢狀函式。巢狀函式可以訪問上一層的函式變數。
內嵌函式plus()可以訪問父函式的counter變數:
function add(){
var counter = 0 ;
function plus(){counter += 1;}
plus();
return counter;
}
8.閉包
JS HTML DOM
1.通過HTML DOM可訪問javascript Html文件中的所有元素。
2.查詢HTML元素
- 通過id查詢
var x = document.getElementById("demo");
如果找到該元素,則該方法將以物件(在x中)的形式返回該元素。
如果未找到該元素,則x將包含null。
- 通過標籤名查詢
var x = document.getElementById("demo");
var y = x.getElementByTagName("p");
- 通過類名查詢
var x = document.getElementsByClassName.("intro");
3.HTML DOM 改變HTML內容
- 改變html輸出流
documen.write();
- 改變html內容
···.innerHTML= ;
- 改變html屬性
document.getElementById("id").屬性名="new value";
4.HTML DOM改變CSS
document.getElementById("demo").style.color="blue";
隱藏:hidden 顯示:visible property:visibility
5.事件
onclick 點選 onblur 失去焦點
onload 瀏覽器已完成頁面的載入 onmouseover 滑鼠放上去
onchange 表單元素的內容改變時觸發 onmouseout 滑鼠離開時
onfocus 獲取焦點 onmousemove 滑鼠移動時
onmousedown 滑鼠按下 onmouseup 滑鼠松下
6.HTML DOM EventListener
addEventListener( )方法:用於向指定元素新增事件控制代碼,不會覆蓋已存在的事件控制代碼,可以向一個元素新增多個事件控制代碼,可以向同一個元素新增多個同類型的事件控制代碼,可以向任何DOM物件新增事件監聽,不僅僅是HTML元素,還可以是window物件。
element.addEventListener(event,function,useCapture);
//event:事件型別 click或者mousedown(注意沒有on)
//useCapture:布林值,用於描述事件是冒泡還是捕獲,預設值是false,即冒泡;true,捕獲。
使用它在同一個元素中新增多個事件:
<button id="myBtn"></button>
<p id="demo"></p>
<script>
var x =document.getElementById("demo");
x.addEventListener("mouseover",myFunction);
x.addEventListener("click",mySecondFunction);
x.addEventListener("mouseout",myThirdFunction);
function myFunction(){
document.getElementById("demo").innerHTML += "Moused over<br>";
}
function mySecondFunction(){
document.getElementById("demo").innerHTML += "Click <br>";
}
function myThirdFunction(){
document.getElementById("demo").innerHTML += "Moused out<br>";
}
</script>
removeEventListener()移除由addEventListener()方法新增的事件控制代碼
7.事件冒泡和事件捕獲
事件傳遞定義了元素事件的觸發順序
- 在冒泡中,內部元素的事件會被先觸發,然後再觸發外部元素。
- 在捕獲中,外部元素的事件會被先觸發,然後才會觸發內部元素的事件。
8.建立和刪除HTML元素
- 建立
element.appendChild(para);
- 刪除
element.removeChild(child);
但刪除的時候要找到子元素和它的父元素,我們可以用parentNode屬性直接找到父元素:
var child = document.getElementById("p1");
child.parentNode.removeChild(child);
相關推薦
javaScript各種正則表示式-用於表單驗證
<script type="text/javascript"> function validate(){ var reg = new RegExp("^[0-9]*
JavaScript-運用正則表示式檢驗表單
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"/> <style
JavaScript(正則表示式、表單驗證、郵箱驗證、函式、HTML DOM)
正則表示式 1.定義:它是由一個字元序列形成的搜尋模式,當在文字中搜索資料時,可以用搜索模式來描述你要查詢的內容。它可以是一個簡單的字元,或一個更復雜的模式。它可用於所有文字搜尋和文字替換操作。 2.Eg:var patt = /youngamber/i
JavaScript正則表示式與表單驗證
一.非空驗證 判斷非空 最好還是不要使用trim()方法 有的瀏覽器可能不支援 推薦使用正則表示式 判斷是否為空 // " abc "----->"abc "------>"abc"function trim (txt) { var afterText = txt.replace(/^\s*
javascript中利用正則表示式實現表單驗證
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
正則表示式和表單驗證
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">*{margin:
js實驗-表單驗證(正則表示式)
<!DOCTYPE html> <html lang="en"> <head> <title>Document</title> </head> <script src="./1.js"></s
學生管理表單驗證練手(正則表示式方式)
學習菜鳥的正則表示式時看到的,拿來練習做了些許修改 話不多說,直接上圖 程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &
表單驗證(正則表示式)
表單驗證是為了使用者友好提示而設計的,當用戶填寫如身份證、IP、日期、電話等如果輸入錯誤的則會提示。 不多說看程式碼: public static class ValidationStrUtil { //驗證電話號碼 public static bool isTele
【知識積累】(二)、深入Regex(正則表示式)
\:將下一個字元標記符、或一個向後引用、或一個八進位制轉義符。例如,“\\n”匹配\n。“\n”匹配換行符。序列“\\”匹配“\”而“\(”則匹配“(”。即相當於多種程式語言中都有的“轉義字元”的概念。 ^:匹配輸入字串的開始位置。如果設定了RegExp物件的Multiline屬性,^也匹配“\n
【知識積累】(一)、瞭解Regex(正則表示式)
一、正則表示式簡介 一種可以用於模式匹配和替換的規範,由普通字元 + 特殊字元構成一個模板,用於對目標字串進行匹配、查詢、替換、判斷。 原始碼:JDK1.4中的java.util.regex下的Pattern和Matcher類。 二、常用語法 1、字元取值範圍 [abc]:表示可能是a
jmeter之斷言、資料提取器(正則表示式、jsonpath、beanshell)、聚合報告、引數化
ctx - ( JMeterContext ) - gives access to the context vars - ( JMeterVariables ) - gives read/write access to variables: v
javascript使用正則表示式獲取查詢字串QueryString(轉載)
該方法大小寫敏感 <script> function fnOnload() { document.getElementById("SystemTree").src = "TreeList.aspx?PID=" + GetQueryString("PID");
JavaScript驗證手機號是否正確(正則表示式)
為了在使用者輸入時驗證手機號格式是否輸入正確的JS函式如下: function validatemobile(newname) { if (newname.length == 0) {
爬蟲實戰:頁面解析詳細指南(正則表示式、XPath、jsoup、Gson)
爬蟲的第二步,是對原始碼進行解析,提煉出目標內容。 本篇我們主要介紹以下 4 種常用的解析技術: 正則表示式 XPath jsoup Gson 正則表示式 正則表示式(Regular Expression),電腦科學的一個概念。通常被用來檢索、替
Android中驗證姓名、身份證、銀行卡、手機號(正則表示式校驗)
最近專案中遇到驗證銀行卡號的問題,就查了一下,也總結總結,後期如果發現其他資訊驗證的會補上的。 1.驗證輸入的身份證號是否正確 public static boolean isLegalId(String id) { if (id.toUpperCase
C# Regex.IsMatch (正則表示式驗證:數字、小數點、郵件、計算表示式)
public bool isInt(string str) { //^([+-]?)表示加減號只能出現在字串開頭且只有一位 ///d*表示後面可以有多個或一個十進位制數 //$表
java 技巧 去除字串中的空格、回車、換行符、製表符(正則表示式)
import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringUtils { public static String replaceBlank(String
(十四)JavaScript RegExp正則表示式
轉義符號 \(反斜槓) \n(字串換行) \\(字串\) \?(字串?) 建立正則表示式 1、語法/pattern/attributes 引數 pattern 是一個字串,指定了正則表示式的模式。 引數 attributes 是一個可選的字串,包含屬性 “i”、
JAVASCRIPT:檢查日期是否正確(正則表示式)
function checkDate(d){ var regx = /^(\d{4})-(\d{2})-(\d{2})$/ if (!regx.test(d)) { return false; } else { return true; } } 檢查日