關於新加坡的身份證與電話號碼驗證
阿新 • • 發佈:2018-11-30
新加坡手機號正則驗證 js部分
var str = "006512345678";
/^(0065)\d{8}$/.test(str);
新加坡身份證號驗證 js部分
function IDCardValidateSingapore(str){
if (str == null || str.length != 8) {
return false;
} else {
if (/^[0-9]{7}[A,B,C,D,E,F,G,H,I,Z,J]$/.test(str)) {
var split = str.split("" );
var num0 = split[0];
var num1 = split[1];
var num2 = split[2];
var num3 = split[3];
var num4 = split[4];
var num5 = split[5];
var num6 = split[6];
var c = (num0 * 2) + (num1 * 7) + (num2 * 6) + (num3 * 5) + (num4 * 4 ) + (num5 * 3) + (num6 * 2);
var d = c % 11;
if((d ==1 && split[7] == "A") || (d ==2 && split[7] == "B")
|| (d ==3 && split[7] == "C") || (d ==4 && split[7] == "D")
|| (d ==5 && split[7] == "E") || (d ==6 && split[7] == "F")
|| (d ==7 && split[7] == "G") || (d ==8 && split[7] == "H")
|| (d ==9 && split[7] == "I") || (d ==10 && split[7] == "Z")
|| (d ==11 && split[7] == "J")
){
return true;
}else{
return false;
}
} else {
return false;
}
}
}
新加坡身份證驗證 java
public static boolean IDCardValidateSingapore(String IDStr) {
if (IDStr == null || IDStr.length() != 8) {
return false;
} else {
Pattern p = Pattern.compile("^[0-9]{7}[A,B,C,D,E,F,G,H,I,Z,J]$");
Matcher m = p.matcher(IDStr);
if (m.matches()) {
String[] split = IDStr.split("");
int num0 = Integer.valueOf(split[0]);
int num1 = Integer.valueOf(split[1]);
int num2 = Integer.valueOf(split[2]);
int num3 = Integer.valueOf(split[3]);
int num4 = Integer.valueOf(split[4]);
int num5 = Integer.valueOf(split[5]);
int num6 = Integer.valueOf(split[6]);
int c = (num0 * 2) + (num1 * 7) + (num2 * 6) + (num3 * 5) + (num4 * 4) + (num5 * 3) + (num6 * 2);
int d = c % 11;
if((d ==1 && split[7].equals("A")) || (d ==2 && split[7].equals("B"))
|| (d ==3 && split[7].equals("C")) || (d ==4 && split[7].equals("D"))
|| (d ==5 && split[7].equals("E")) || (d ==6 && split[7].equals("F"))
|| (d ==7 && split[7].equals("G")) || (d ==8 && split[7].equals("H"))
|| (d ==9 && split[7].equals("I")) || (d ==10 && split[7].equals("Z"))
|| (d ==11 && split[7].equals("J"))
){
return true;
}else{
return false;
}
} else {
return false;
}
}
}
新加坡電話驗證及國內電話號碼驗證 java
//驗證手機號碼
public static boolean isMobileNO(String mobiles,StringBuilder errMessage){
Pattern p = null;
if(mobiles.length() != 11){//為長度不為11則為新加坡號碼(目前看新加坡號碼為0065加8位數)
p = Pattern.compile("^(0065)\\d{8}$");
}else{
p = Pattern.compile("^[1][3,4,5,6,7,8][0-9]{9}$");
}
Matcher m = p.matcher(mobiles);
if(! m.matches()){
errMessage.append("手機號格式不對");
}
return m.matches();
}
快捷鍵
- 加粗
Ctrl + B
- 斜體
Ctrl + I
- 引用
Ctrl + Q
- 插入連結
Ctrl + L
- 插入程式碼
Ctrl + K
- 插入圖片
Ctrl + G
- 提升標題
Ctrl + H
- 有序列表
Ctrl + O
- 無序列表
Ctrl + U
- 橫線
Ctrl + R
- 撤銷
Ctrl + Z
- 重做
Ctrl + Y
Markdown及擴充套件
Markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的HTML頁面。 —— [ 維基百科 ]
使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立一個連結等,詳細語法參考幫助?。
本編輯器支援 Markdown Extra , 擴充套件了很多好用的功能。具體請參考Github.
表格
Markdown Extra 表格語法:
專案 | 價格 |
---|---|
Computer | $1600 |
Phone | $12 |
Pipe | $1 |
可以使用冒號來定義對齊方式:
專案 | 價格 | 數量 |
---|---|---|
Computer | 1600 元 | 5 |
Phone | 12 元 | 12 |
Pipe | 1 元 | 234 |
定義列表
- Markdown Extra 定義列表語法:
- 專案1
- 專案2
- 定義 A
- 定義 B
- 專案3
- 定義 C
-
定義 D
定義D內容
程式碼塊
程式碼塊語法遵循標準markdown程式碼,例如:
@requires_authorization
def somefunc(param1='', param2=0):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + 1) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
腳註
生成一個腳註1.
目錄
用 [TOC]
來生成目錄:
數學公式
使用MathJax渲染LaTex 數學公式,詳見math.stackexchange.com.
- 行內公式,數學公式為: 。
- 塊級公式:
更多LaTex語法請參考 這兒.
UML 圖:
可以渲染序列圖:
或者流程圖:
離線寫部落格
即使使用者在沒有網路的情況下,也可以通過本編輯器離線寫部落格(直接在曾經使用過的瀏覽器中輸入write.blog.csdn.net/mdeditor即可。Markdown編輯器使用瀏覽器離線儲存將內容儲存在本地。
使用者寫部落格的過程中,內容實時儲存在瀏覽器快取中,在使用者關閉瀏覽器或者其它異常情況下,內容不會丟失。使用者再次開啟瀏覽器時,會顯示上次使用者正在編輯的沒有發表的內容。
部落格發表後,本地快取將被刪除。
使用者可以選擇 把正在寫的部落格儲存到伺服器草稿箱,即使換瀏覽器或者清除快取,內容也不會丟失。
注意:雖然瀏覽器儲存大部分時候都比較可靠,但為了您的資料安全,在聯網後,請務必及時發表或者儲存到伺服器草稿箱。
瀏覽器相容
- 目前,本編輯器對Chrome瀏覽器支援最為完整。建議大家使用較新版本的Chrome。
- IE9以下不支援
- IE9,10,11存在以下問題
- 不支援離線功能
- IE9不支援檔案匯入匯出
- IE10不支援拖拽檔案匯入
- 這裡是 腳註 的 內容. ↩