//手機號碼驗證:
if (!(/^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\d{8}$/.test(你要驗證的手機號))) {
wx.showToast({
title: '手機號碼有誤',
duration: 2000,
icon:'none'
});
}
//郵箱驗證
if (!(/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(你要驗證的郵箱))){
wx.showToast({
title: '郵箱輸入有誤',
duration: 2000,
icon: 'none'
});
}
//中英文姓名驗證(沒有長度限制,考慮到少數名族和外國人名字很長):
if (!(/^[\u4E00-\u9FA5A-Za-z]+$/.test(你要驗證的姓名))) {
wx.showToast({
title: '姓名有誤',
duration: 2000,
icon: true
});
}
// 性別驗證:
if (!(/[1]$/.test(你要驗證的性別))) {
wx.showToast({
title: '性別只能是男或者女',
duration: 2000,
icon: 'none'
});
}
//身份證驗證:
if (!(/(\d{15}$)|(\d{18}$)|(^\d{17}(\d|X|x)$)/.test(你要驗證的身份證))) {
wx.showToast({
title: '身份證號碼有誤',
duration: 2000,
icon: 'none'
});
}
可借鑒表達式
驗證數字的正則表達式集
驗證數字:1$
驗證n位的數字:^\d{n}$
驗證至少n位數字:^\d{n,}$
驗證m-n位的數字:^\d{m,n}$
驗證零和非零開頭的數字:^(0|[1-9][0-9])$
驗證有兩位小數的正實數:2+(.[0-9]{2})?$
驗證有1-3位小數的正實數:3+(.[0-9]{1,3})?$
驗證非零的正整數:^+?[1-9][0-9]$
驗證非零的負整數:^-[1-9][0-9]$
驗證非負整數(正整數 + 0) ^\d+$
驗證非正整數(負整數 + 0) ^((-\d+)|(0+))$
驗證長度為3的字符:^.{3}$
驗證由26個英文字母組成的字符串:4+$
驗證由26個大寫英文字母組成的字符串:5+$
驗證由26個小寫英文字母組成的字符串:6+$
驗證由數字和26個英文字母組成的字符串:7+$
驗證由數字、26個英文字母或者下划線組成的字符串:^\w+$
驗證用戶密碼:8\w{5,17}$ 正確格式為:以字母開頭,長度在6-18之間,只能包含字符、數字和下划線。
驗證是否含有 ^%&’,;=?KaTeX parse error: Can't use function '\"' in math mode at position 1: \̲"̲ 等字符:[^%&',;=?\x22]+
驗證漢字:9,{0,}$
驗證Email地址:/^([a-zA-Z0-9]+[|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[|_|.]?)[a-zA-Z0-9]+.[a-zA-Z]{2,3}KaTeX parse error: Undefined control sequence: \w at position 27: …tURL:^http://([\̲w̲-]+\.)+[\w-]+(/… ;10+://(w+(-w+))(.(w+(-w+)))(?S*)?$
驗證電話號碼:^(\d3,4\d3,4|\d{3,4}-)?\d{7,8}KaTeX parse error: Undefined control sequence: \d at position 99: …證號(15位或18位數字):^\̲d̲{15}|\d{}18
驗證一年的12個月:^(0?[1-9]|1[0-2])$ 正確格式為:“01”-“09”和“1”“12”
驗證一個月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正確格式為:01、09和1、31。
整數:^-?\d+$
非負浮點數(正浮點數 + 0):^\d+(.\d+)?$
正浮點數 ^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$
非正浮點數(負浮點數 + 0) ^((-\d+(.\d+)?)|(0+(.0+)?))$
負浮點數 ^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))$
浮點數 ^(-?\d+)(.+)?$
校驗數字的表達式
數字:^[0-9]*$
n位的數字:^\d{n}$
至少n位的數字:^\d{n,}$
m-n位的數字:^\d{m,n}$
零和非零開頭的數字:^(0|[1-9][0-9]*)$
非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$
帶1-2位小數的正數或負數:^(\-)?\d+(\.\d{1,2})$
正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$
有兩位小數的正實數:^[0-9]+(\.[0-9]{2})?$
有1~3位小數的正實數:^[0-9]+(\.[0-9]{1,3})?$
非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
非零的負整數:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
非負整數:^\d+$ 或 ^[1-9]\d*|0$
非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
校驗字符的表達式
漢字:^[\u4e00-\u9fa5]{0,}$
英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
長度為3-20的所有字符:^.{3,20}$
由26個英文字母組成的字符串:^[A-Za-z]+$
由26個大寫英文字母組成的字符串:^[A-Z]+$
由26個小寫英文字母組成的字符串:^[a-z]+$
由數字和26個英文字母組成的字符串:^[A-Za-z0-9]+$
由數字、26個英文字母或者下划線組成的字符串:^\w+$ 或 ^\w{3,20}$
中文、英文、數字包括下划線:^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、數字但不包括下划線等符號:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
可以輸入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+
禁止輸入含有~的字符:[^~\x22]+
特殊需求表達式
- Email地址:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
- 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?
- InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$
- 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
- 電話號碼(“XXX-XXXXXXX”、“XXXX-XXXXXXXX”、“XXX-XXXXXXX”、“XXX-XXXXXXXX”、"XXXXXXX"和"XXXXXXXX):^((\d{3,4}-)|\d{3.4}-)?\d{7,8}$
- 國內電話號碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
- 電話號碼正則表達式(支持手機號碼,3-4位區號,7-8位直播號碼,1-4位分機號): ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
- 身份證號(15位、18位數字),最后一位是校驗位,可能為數字或字符X:(\d{15}$)|(^\d{18}$)|(\d{17}(\d|X|x)$)
- 帳號是否合法(字母開頭,允許5-16字節,允許字母數字下划線):11[a-zA-Z0-9_]{4,15}$
- 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下划線):12\w{5,17}$
- 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在 8-10 之間):^(?=.\d)(?=.[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
- 強密碼(必須包含大小寫字母和數字的組合,可以使用特殊字符,長度在8-10之間):^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$
- 日期格式:^\d{4}-\d{1,2}-\d{1,2}
一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$
一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$ - 錢的輸入格式:
有四種錢的表示形式我們可以接受:“10000.00” 和 “10,000.00”, 和沒有 “分” 的 “10000” 和 “10,000”:13[0-9]$
這表示任意一個不以0開頭的數字,但是,這也意味着一個字符"0"不通過,所以我們采用下面的形式:^(0|[1-9][0-9])$
一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9])$
這表示一個0或者一個可能為負的開頭不為0的數字.讓用戶以0開頭好了.把負號的也去掉,因為錢總不能是負的吧。下面我們要加的是說明可能的小數部分:14+(.[0-9]+)?$
必須說明的是,小數點后面至少應該有1位數,所以"10."是不通過的,但是 “10” 和 “10.2” 是通過的:15+(.[0-9]{2})?$
這樣我們規定小數點后面必須有兩位,如果你認為太苛刻了,可以這樣:16+(.[0-9]{1,2})?$
這樣就允許用戶只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:17{1,3}(,[0-9]{3})(.[0-9]{1,2})?$
1到3個數字,后面跟着任意個 逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3}))(.[0-9]{1,2})?$
備注:這就是最終結果了,別忘了"+“可以用”"替代如果你覺得空字符串也可以接受的話(奇怪,為什么?)最后,別忘了在用函數時去掉去掉那個反斜杠,一般的錯誤都在這里 - xml文件:^([a-zA-Z]±?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$
- 中文字符的正則表達式:[\u4e00-\u9fa5]
- 雙字節字符:[^\x00-\xff] (包括漢字在內,可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1))
- 空白行的正則表達式:\n\s*\r (可以用來刪除空白行)
- HTML標記的正則表達式:<(\S*?)[^>]>.?|<.? /> ( 首尾空白字符的正則表達式:^\s|\s*KaTeX parse error: Undefined control sequence: \s at position 4: 或(^\̲s̲*)|(\s*) (可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式)
- 騰訊QQ號:[1-9][0-9]{4,} (騰訊QQ號從10000開始)
- 中國郵政編碼:[1-9]\d{5}(?!\d) (中國郵政編碼為6位數字)
- IPv4地址:((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
