All Projects → dunizb → Js Regular Expression Awesome

dunizb / Js Regular Expression Awesome

📄我收藏的正则表达式大全,欢迎补充

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Js Regular Expression Awesome

Onigmo
Onigmo is a regular expressions library forked from Oniguruma.
Stars: ✭ 536 (+346.67%)
Mutual labels:  regex, regular-expression
Whitespace Regex
Regular expression for matching the whitespace in a string.
Stars: ✭ 9 (-92.5%)
Mutual labels:  regex, regular-expression
Guitar
A Cross-Platform String and Regular Expression Library written in Swift.
Stars: ✭ 641 (+434.17%)
Mutual labels:  regex, regular-expression
Chinamobilephonenumberregex
Regular expressions that match the mobile phone number in mainland China. / 一组匹配中国大陆手机号码的正则表达式。
Stars: ✭ 4,440 (+3600%)
Mutual labels:  regex, regular-expression
Orchestra
One language to be RegExp's Successor. Visually readable and rich, technically safe and extended, naturally scalable, advanced, and optimized
Stars: ✭ 103 (-14.17%)
Mutual labels:  regex, regular-expression
Regulex
🚧 Regular Expression Excited!
Stars: ✭ 4,877 (+3964.17%)
Mutual labels:  regex, regular-expression
Shallow Clone
Make a shallow clone of an object, array or primitive.
Stars: ✭ 23 (-80.83%)
Mutual labels:  regex, regular-expression
Minta
✳️  Electron app for generating regular expressions
Stars: ✭ 353 (+194.17%)
Mutual labels:  regex, regular-expression
Regexr
For composing regular expressions without the need for double-escaping inside strings.
Stars: ✭ 53 (-55.83%)
Mutual labels:  regex, regular-expression
Rexrex
🦖 Composable JavaScript regular expressions
Stars: ✭ 34 (-71.67%)
Mutual labels:  regex, regular-expression
Regexplain
🔍 An RStudio addin slash regex utility belt
Stars: ✭ 413 (+244.17%)
Mutual labels:  regex, regular-expression
Hyperscan Java
Match tens of thousands of regular expressions within milliseconds - Java bindings for Intel's hyperscan 5
Stars: ✭ 66 (-45%)
Mutual labels:  regex, regular-expression
Picomatch
Blazing fast and accurate glob matcher written JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.
Stars: ✭ 393 (+227.5%)
Mutual labels:  regex, regular-expression
To Regex Range
Pass two numbers, get a regex-compatible source string for matching ranges. Fast compiler, optimized regex, and validated against more than 2.78 million test assertions. Useful for creating regular expressions to validate numbers, ranges, years, etc.
Stars: ✭ 97 (-19.17%)
Mutual labels:  regex, regular-expression
Regexp2
A full-featured regex engine in pure Go based on the .NET engine
Stars: ✭ 389 (+224.17%)
Mutual labels:  regex, regular-expression
Commonregex
🍫 A collection of common regular expressions for Go
Stars: ✭ 733 (+510.83%)
Mutual labels:  regex, regular-expression
Regex
Regular expressions for swift
Stars: ✭ 306 (+155%)
Mutual labels:  regex, regular-expression
Generex
A Java library for generating String from a regular expression.
Stars: ✭ 316 (+163.33%)
Mutual labels:  regex, regular-expression
Regex
A sane interface for php's built in preg_* functions
Stars: ✭ 909 (+657.5%)
Mutual labels:  regex, regular-expression
Emoji Regex
A regular expression to match all Emoji-only symbols as per the Unicode Standard.
Stars: ✭ 1,134 (+845%)
Mutual labels:  regex, regular-expression

JS-Regular-expression-awesome

📄我收藏的、开发中用过的正则表达式,欢迎补充

可视化编辑测试工具:https://regexper.com/

最新

  • 匹配2018-10-10格式的日期:^[1-9]\d{3}-([1-9]|1[0-2])-([1-9]|[1-2]\d|3[01])$
  • 验证文件扩展名:^.*?\.(html|css|jpg)$

密码验证类

  • 6-16位字符,区分大小写(不能是9位以下的纯数字,不含空格):^(?!\d{6,8}$)(?! )(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16}$
  • 6-16位字符,区分大小写(不能是9位以下的纯数字,不含空格),必须包含大写字母:^(?!\d{6,8}$)(?! )(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16}$
  • 密码不能为纯数字或字母,不少于6位:^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$

号码验证类

  • 验证微信号:^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$
  • 腾讯QQ号码:[1-9][0-9]{4,}
  • 国内电话号码:\d{3}-\d{8}|\d{4}-\{7,8}
  • 带中划线的手机号码:^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$
  • 普通手机号码:^1[34578]\d{9}$
  • 普通电话、传真号码:可以“+”开头,除数字外,可含有“-”:^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$
  • 18位身份证号码:^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X|x)$
  • 中国邮政编码:[1-9]\d{5}(?!\d)

地址类

  • IP地址:(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)
  • URL:[a-zA-z]+://[^\s]*
  • Email地址:[\w!#$%&'*+/=?^_{|}~-]+(?:.[\w!#$%&'*+/=?^_{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

匹配数字

  • 验证数字:^[0-9]*$
  • 验证n位的数字:^\d{n}$
  • 验证至少n位数字:^\d{n,}$
  • 验证m-n位的数字:^\d{m,n}$
  • 验证零和非零开头的数字:^(0|[1-9][0-9]*)$
  • 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
  • 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
  • 验证非零的正整数:^\+?[1-9][0-9]*$
  • 验证非零的负整数:^\-[1-9][0-9]*$
  • 验证非负整数(正整数 + 0) ^\d+$
  • 验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
  • 验证长度为3的字符:^.{3}$
  • 验证由26个英文字母组成的字符串:^[A-Za-z]+$
  • 验证由26个大写英文字母组成的字符串:^[A-Z]+$
  • 验证由26个小写英文字母组成的字符串:^[a-z]+$
  • 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
  • 验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
  • 验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
  • 验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
  • 验证汉字:^[\u4e00-\u9fa5],{0,}$
  • 验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
  • 验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
  • 验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
  • 验证身份证号(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+)(\.\d+)?$

其他

手机号码中间四位用*代替

function encryptPhone(val){
    if(!val) return;
    return val.replace(/^(\d{3})(\d{4})(\d+)/, '$1****$3')
}

encryptPhone('13173786224'); // 131****6224

格式化金额

var money = 1003450.89;
console.log(money.toString().replace(/(?=\B(?:\d{3})+\b)(\d{3}(?:\.\d+$)?)/g,',$1'));
// 1,003,450.89

JS替换字符串中的空格

var reg = /([^\s])\s+([^\s\b])/g;
var str = " 中国  北京   朝阳区  df "; 
str = str.replace(reg, "$1%$2")

不允许输入如下字符: (像 [email protected]#$%^& 等)*

var userName = $("#userRegistName").val(); 
var first = userName.charCodeAt(0); 
function CheckUserNameFormat(){
    if ((first>=65 && first <= 90)||(first>=97 && first <=122)){
    var pattern =/^[A-Za-z0-9_]+$/;  //首字母必须是A-Z或者a-z
    if(pattern.test(userName)){ 
         ......
    }
} 

tips

匹配中文字符:[\u4e00-\u9fa5]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].