1. 图片后缀名正则
function regFileType(fileName) {
// 验证没问题,则返回True
let fileType= `(bmp|jpg|png|webp|jpeg|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF)`
var regular = new RegExp(`.*\.${fileType}`)
return regular.test(fileName)
}
2. 六位数字,至多保留两位小数
function verifyNum(num){
let reg = /(^[0-9]$)|(^[1-9]{1}[0-9]{1,9}$)|(^[0-9]{1,10}[\.]{1}[0-9]{1,2}$)/
return reg.test(num)
}
/^[0-9]{1}$/ 只允许0-9 一位数
/^[1-9]{1}[0-9]{1,5}$/ 允许1-9开头连接0-9的1至5位的数字
/^[0-9]{1,5}[\.]{1}[0-9]{1,2}$/ 允许至多六位0-9数字,最多两位小数
举例 正则表达式校验金额最多保留两位小数
^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$
^ 匹配输入字行首
[1-9] 只能取1-9之间的正整数
{1} 前面的表达式只能取一位
\d 正整数,等同于[0-9]
* 前面表达式任意位数
| 或的意思
{1,2} 表示最少重复1次,最多重复2次
? 简单理解为或有或无
$ 匹配输入字行尾
3. 只能输入数字或含两位小数的正则
var b = s.replace("str1","str2");
replace() 执行查找和替换的动作。
第一个参数表示执行匹配的正则表达式,也可以传递字符串,第二个参数表示代替匹配的子字符串
var reg=/^\d+(\.\d{0,2})?$/;
\d:开头必须是数字
+ 拼接后面的内容
\. 挨着必须是小数点
\d 小数点后面必须是数字
{0,2}两位有效数字
?:有或者没有
$:匹配任何结尾为之前所写的字符串 即 小数点和两位小数
reg.test("1.221");//false
reg.test(".");//false
reg.test("8");//true
reg.test("12.1");//true
4.把小数0开头的多余0去掉
/^0+\./g
function delZero(e){
e.replace(/^0+\./g,'0.')
console.log(e)
}
delZero(00.22)//0.22
/g 全局正则
5.把整数0开头的多余0去掉
/^[0]+/
function delZero(e){
e.replace(/^[0]+/,'')
console.log(e)
}
delZero(00022)//
/g 全局正则
^ 以0开头的数据清除,并替换