當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript(JS)常用正则表达式汇总
生活随笔
收集整理的這篇文章主要介紹了
JavaScript(JS)常用正则表达式汇总
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 自定義字符串校驗函數
- 常用正則表達式
自定義字符串校驗函數
校驗字符串是否全由數字組成,是則返回true,否則返回false:
function isDigit(str) {var regExp = /^[0-9]{1,20}$/;// exec方法如果找到符合正則表達式的字符串,返回一個數組對象,否則返回nullif (!regExp.exec(str)) return false;return true; }欲了解正則表達式對象的方法 exec() 如何使用,請參閱《JavaScript(JS)中與正則表達式有關的方法介紹》。
匹配以英文字母開頭,由英文字母、數字、“.”、“_”中的任意 5~20 個字符組成的字符串:
function isRegisterUserName(s) { var regExp = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true }匹配由 1~30 個英文字母組成的字符串:
function isTrueName(s) { var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) return false return true }匹配由6~20個任意非空白字符組成的字符串:
function isPasswd(s) { var patrn=/^(\S){6,20}$/; if (!patrn.exec(s)) return false return true }檢驗用戶輸入的身份證號碼是否符合要求:
function check_card(){$('idCard').className = '';$('card_msg').innerHTML = '';var reg = /^\d{15}$|^\d{17}([0-9]|X|x)$/;if(!reg.test($F('idCard'))){$('card_msg').innerHTML = '格式不正確';$('idCard').className = 's2';return false;}return true; }常用正則表達式
| 用戶名 | /^[a-z0-9_-]{3,16}$/ | 匹配由 3 個到 16 個英文小寫字母、數字、下劃線、連接線中的任意字符組成的字符串;匹配小寫英文字母、數字、下劃線以及連接線中的任意一個字符,可以匹配 3 到 16 次,也就是至少匹配 3 次,最多匹配 16 次;匹配小寫英文字母、數字、下劃線以及連接線中的任意 3 個到 16 個字符;匹配小寫英文字母、數字、下劃線以及連接線中的 3 個到 16 個任意字符。兩個正斜杠之間的內容才是正則表達式,正斜杠 / 只是用來標記表達式的首尾而已,類似于雙引號的作用,有些地方并不使用 / 來標記正則式的首尾,而是使用雙引號 "" 來標識首尾,所以 / 并沒有實際的意義。 |
| 用戶名 | /^[a-zA-Z]{1,30}$/ | 匹配 1 個到 30 個英文字母 |
| 用戶名 | /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/ | 匹配以英文字母開頭,由英文字母、數字、“.”、“_”中的任意 5~20 個字符組成的字符串 |
| 密碼 | /^(\S){6,20}$/ | 匹配由6~20個任意非空白字符組成的字符串。這是密碼常用的規則 |
| 密碼 | /^[^\f\n\r\t\v]{6,18}$/ 或 /^\S{6,18}$/ | 匹配除了換頁符、換行符、空白符、制表符、回車符以外的任意 6 個到 18 個字符。這是密碼常用的規則 |
| 密碼 | /^[a-z0-9_-]{6,18}$/ | 匹配小寫英文字母、數字、下劃線、連字符中任意 6 個到 18 個字符組成的字符串;匹配 6 個到 18 個小寫英文字母、數字、下劃線、連字符中任意字符組成的字符串。這樣的密碼規則不常用 |
| 密碼 | /(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^[^\s\u4e00-\u9fa5]{6,16}$/ | 使用了順序否定環視,表示匹配一個非全部是數字,非全是英文字母,且包含至少 1 個英文字母或者包含至少 1 個數字,由 6 個到 18 個除了空白字符和漢字以外的任意字符組成的字符串。這樣的密碼規則更加嚴謹。 |
| 電子郵箱 | /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ | @之前的部分,匹配小寫英文字母、數字、下劃線、半角句點以及連接線中的任意1個或多個字符;@和半角句點之間的部分,匹配數字、小寫英文字母、英文句點以及連接線中的任意1個或多個字符;@之后的部分,匹配小寫英文字母和英文句點中的任意2個到6個字符 |
| 電子郵箱 | /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ | 這個匹配地更加精準 |
| 電子郵箱 | /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ | 這個比較寬松 |
| URL | /^(https?:\/\/)?([0-9a-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ | https?,是指 ? 前的 s 可有可無,(https?:\/\/)? 是指 http:// 或者 https:// 可有可無。要注意,\d 本是一個元字符,放在 [] 內就會變成普通字符 d,如果寫成 \\d,則表示匹配 \ 或 d,換句話說如果要使用 \d 元字符的含義,不能放在方括號 [] 中 |
| URL | /^https?://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$/ | sed ‘s/[\w]/liao/g’ test/text.txt |
| IP 地址 | /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ | |
| IP 地址 | /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ | |
| HTML 標簽 | /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ | |
| 查找注釋內容 | (?<!http:|\S)//.*$ | 這是個逆序否定環視表達式,用來匹配注釋部分的字符串,即匹配代碼的注釋部分 ,標識 // 的前面不能有 http: ,也不能有非空白字符 \S,并且結尾緊跟行尾 $,這樣的字符串才能匹配成功 |
| Unicode 編碼中的漢字范圍 | /^[\u2E80-\u9FFF]+$/ | 用來查找匹配整行的漢字 |
| 漢字 | ^[\u4e00-\u9fa5]{1,}$ | [\u4e00-\u9fa5] 表示任意一個漢字字符,整個正則式表示匹配 1 個或者多個任意漢字,并且匹配到的漢字既在行首又在行尾 |
| 手機號碼 | (\+86)?1\d{10} | + 是個特殊字符需要轉義才能被視為一個普通字符,所以前面加個 \。(\+86)? 表示 +86 可有可無,即 0 個或者 1 個;\d{10} 匹配10個任意數字,匹配任意的10個數字 |
| 身份證 | /^\d{15}$|^\d{17}([0-9]|X|x)$/ |
總結
以上是生活随笔為你收集整理的JavaScript(JS)常用正则表达式汇总的全部內容,希望文章能夠幫你解決所遇到的問題。