轉自 https://andy6804tw.github.io/2017/11/05/js-tutorial-regx
--

正規表達式



由於最近工作寫 API 動到 Router 的 param 發現必須使用到正規表達式(Regular Expression)才能解決問題所以就來寫這篇文章啦!


正規表達式是什麼?簡單來說他可以幫你定義好格式應用範圍很廣最常見的是在註冊頁面要判斷使用者是否認真乖乖的填入 E-mail 這時候就要有判斷式來檢查囉~


下面舉個例子:


















字元描述字元
Email[a-zA-Z0-9]+@[a-zA-Z0-9.]+ccc@kmit.edu.tw
URLhttp://[a-zA-Z0-9./_]+http://ccc.kmit.edu.tw/mybook/

表達式一覽





























































字元描述
^比對字串開頭 (開始位置)。
$比對字串結尾 (結束位置)。
*零次或以上
+一次或以上
[xyz]包含 xyz 等字元。
[^xyz]不包含 xyz 等字元。
[a-z]字元範圍 a-z。
[^a-z]不包含字元範圍 a-z。
\d比對數字符號。等價於 [0-9]。
\D比對非數字符號。等價於 [^0-9]。
\w比對「英文、數字或底線」。等價於 [A-Za-z0-9_]。
\W比對非「英文、數字或底線」的字元。等價於 [^A-Za-z0-9_]。
x|y比對 x 或 y。

我這邊只列出常見使用到的表達,需要更詳細可以參考這篇文件


範例



看了上面這麼多規則想定霧煞煞,下面就用js語法帶各位逐一解析,這邊會使用到 .test(String) 函示他會回傳true當字串符合正規表達時,反之。


Example 1


這個例子是判斷該字串是否為數字:



  • 第一行只有 [0-9] 代表指檢查第一個故後面輸入字母也是會回傳 true

  • 第二行各位可以發現 [0-9]+ 多了一個 + 代表判斷串列數字是否出現一次或以上

  • 第三行 [^0-9] 代表的是判斷該字串是否非數字

  • 第四行與第三行相比較發現 ^ 擺放的位置不一樣了,放不同的地方就有不同的作用,代表的是字串最前面是否為數字串列,可以跟第六行相比對得正




console.log(/[0-9]/.test('1abc')) // 回傳 true
console.log(/[0-9]+/.test('123')) // 回傳 true
console.log(/[^0-9]+/.test('123')) // 回傳 false
console.log(/^[0-9]+/.test('123')) // 回傳 true
console.log(/^[0-9]+/.test('a123')) // 回傳 false



當然上述的 [0-9] 可以替換成 \d 與 [^0-9]替換成 \D


Example 2


這個例子是判斷該字串是否為英文、數字或底線:



  • 第一行比對該字串是否含有英文、數字或底線,等價於 [A-Za-z0-9_]

  • 的二行可以發線 W變大寫,意思相反,等價於 [^A-Za-z0-9_]




console.log(/\w/.test('1abc_d')) // 回傳 true
console.log(/\W/.test('1abc_d')) // 回傳 false



Example 3


這個例子是判斷段該字串是否有出現的字母:



  • 第一行檢查該字串是否包含 j 或 a 或 v 或 a

  • 第二行是檢查該字串第一個字是否包含 j 或 a 或 v 或 a,及第二個字是否包含數字(記住此組合是連續的故b2不符合)

  • 第三行就是解決第二行例子故中間加一個 . ,這個帶俵可以讓中間有一個字母隨意

  • 第四行與五可做相對應主要是允許中間有多個隨意字母輸入,第三行緊只能一個字母




console.log(/[java]/.test('jack')) // 回傳 true
console.log(/[java]\d/.test('jb2')) // 回傳 false
console.log(/[java].\d/.test('jb2')) // 回傳 true
console.log(/[java].\d/.test('jbbb2')) // 回傳 false
console.log(/[java].+\d/.test('jbbb2')) // 回傳 true



Example 4


這個例子是 or 比對判斷,提供兩個正規表示其中一個成立即可:



  • 第一行都沒有數字或字母故回傳 false

  • 第二與第三行分別個出現數字和字母故回傳 true




console.log(/[0-9]|[a-z]/.test('?')) // 回傳 false
console.log(/[0-9]|[a-z]/.test('?100')) // 回傳 true
console.log(/[0-9]|[a-z]/.test('?abc')) // 回傳 true



dizzy03 發表在 痞客邦 留言(0) 人氣()

http://mishengqiang.com/sweetalert2/
好用的sweetalert

dizzy03 發表在 痞客邦 留言(0) 人氣()

使用dataTable要實作列的多選功能,有使用dataTable分頁的話不能使用HTML & JS取得的方式,因為表格內容會只有當分頁的,抓不到其他分頁內容,必須使用dataTable內建的API才行。
 
方法:
1. 在tr上加上toggleClass語法,選定的列會加上某個class

dizzy03 發表在 痞客邦 留言(0) 人氣()

safari
轉自 https://github.com/FortAwesome/Font-Awesome/issues/11946
解答:必須在.fa中加上 font-weight: 900;
.fa, .fas {
      font-weight: 900;
}

dizzy03 發表在 痞客邦 留言(0) 人氣()

轉自 https://wcc723.github.io/css/2013/10/07/css-chechbox/
--
CSS3 新增了:checked的偽元素,它可以判斷目前的checkbox 及 radio 是否有被選核,這樣html就能夠做出基本的點擊功能;並且結合label標籤,label標籤能夠讓樣式的套用更為自由,藉此增加畫面的豐富性。

dizzy03 發表在 痞客邦 留言(0) 人氣()

轉自 http://www.w3school.com.cn/tags/att_label_for.asp
for裏頭的值為要綁定元素的id
--

dizzy03 發表在 痞客邦 留言(0) 人氣()


轉自 https://blog.xuite.net/b122422182com/iTeach/496490208
--
發生問題如下

dizzy03 發表在 痞客邦 留言(0) 人氣()


轉自 https://blog.xuite.net/b122422182com/iTeach/496495813
--
win 8 之後進入安全模式方式改變

dizzy03 發表在 痞客邦 留言(0) 人氣()

$request = new \Illuminate\Http\Request();
 
使用情境:
在function有使用到request參數,又想要保持彈性後面可以帶入其他參數時。

dizzy03 發表在 痞客邦 留言(0) 人氣()

上一篇 [PHP] 解決匯出 CSV 的亂碼問題
雖然是解決匯出CSV的亂碼問題,用EXCEL開啟會正常。
BUT,就是這個BUT

dizzy03 發表在 痞客邦 留言(0) 人氣()

https://stackoverflow.com/questions/13530465/how-to-declare-a-global-variable-in-php
直接宣告 $GLOBALS['xxx'],就可以直接在function裏頭使用了。
--

dizzy03 發表在 痞客邦 留言(0) 人氣()

轉自 http://seanphpbook.blogspot.com/2015/04/jquery-parent-parents-closest.html
parent() 只往上查找一層
closest() 往上查找 只要找到符合條件的 就停止
parents() 往上查找 不停止 找出所有符合條件的

dizzy03 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。