常用正则

正则表达式是对象,用来匹配字符串的字符组合

边界符

^开头,以&结尾,可以实现精确匹配

范围符

[]限定,只需要匹配其中一个就可以

-为范围符

^在中括号内表示取反,在外面表示开头

量词符 *相当于>=0,出现 0 次或多次

+相当于>=1,出现 1 次货多次

?相当于出现 1 或 0 次

{n}出现 n 次

{n,}大于等于 n 次

{n,m} n-m 次

正则里面的小括号表示优先级

预定义类

\d 相当于 0-9

\D 取反 0-9

\w 相当于任意字母,数字,下划线

\W 取反字母、数字、下划线

\s 相当于空格、下划线、制表符等

\S 相当于取反空格等

正则里面的或者符号为一个|

正则表达式中替换使用 replace(需要替换的值或正则,替换的值);只能替换第一个字符串

/表达式/值,值有三种

g,全局匹配

i,忽略大小写

gi,全局表达式+忽略大小写

n 位数字

const reg = /^\d{n}$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

是否以负号或 0-9 的数字开头(含小数)

const reg = /^(-|\+)?\d+(\.\d+)?$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

[0-100]不含 0 和 100,只匹配整数

const reg = /^([1-9][0-9]{0,1}|99)$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

[0-100]不含 0 和 100,保留小数点后 1 位

const reg = /^([1-9]\d{0,2}|99.9)(\.\d{1})?$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

[0-100]不含 0 和 100,保留小数点后 3 位

const reg = /^([1-9][0-9]{0,3}(\.\d{1,3})?|99.999)$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

含 0 开头需要先做数据处理

cosnt vaule = val.replace(/^0+(\d)/, '$1').replace(/^\./, '0.')
//第一个replace 0开头,0后为数字,则去掉0 第二个replace 第一位. ,补全0

[0-100]含 0 和 100,只匹配整数

const reg = /^([0-9][0-9]{0,1}|100)$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

[0-100]含 0 和 100,保留小数点后 1 位

const reg = /^([0-9]\d{0,2}|100)(\.\d{1})?$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

[0-100]含 0 和 100,保留小数点后 3 位

const reg = /^([0-9][0-9]{0,3}(\.\d{1,3})?|100)$/
if (reg.test(value) === true) {
console.log(`匹配成功`)
}

其他

^\d+$ // 匹配非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$ // 匹配正整数
^((-\d+)|(0+))$ // 匹配非正整数 (负整数 + 0)
^-[0-9]*[1-9][0-9]*$  // 匹配负整数
^-?\d+$ // 匹配整数
^\d+(\.\d+)?$ // 匹配非负浮点数(正浮点数 + 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+)?)|(0+(\.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+)?$ // 匹配浮点数
^[A-Za-z]+$ // 匹配由26个英文字母组成的字符串
^[A-Z]+$ // 匹配由26个英文字母的大写组成的字符串
^[a-z]+$ // 匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ // 匹配由数字和26个英文字母组成的字符串
^\w+$ // 匹配由数字、26个英文字母或者下划线组成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ // 匹配email地址
[\u4e00-\u9fa5] // 匹配中文字符的正则表达式
[^\x00-\xff] // 匹配双字节字符(包括汉字在内)
\n[\s| ]*\r // 匹配空行的正则表达式
/<(.*)>.*<\/\1>|<(.*)\/> // 匹配HTML标记的正则表达式
^\S+[a-z A-Z]$ // 匹配首尾空格的正则表达式
^\d{4}\-\d{1,2}-\d{1,2}$ // 只能是2004-10-22格式
^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$ // 邮件
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* // 输入多个地址用逗号或空格分隔邮件
^(\([0-9]+\))?[0-9]{7,8}$ // 电话号码7位或8位或前面有区号例如(022)87341628
^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$ //只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件
^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$ //简写
posted @   有些东西学不会  阅读(337)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css
点击右上角即可分享
微信分享提示