? 表示 零次 或 一次
{1} 表示 一次
* 表示 零次 或 多次
+ 表示 一次 或 多次
| 表示 或
^ 表示 开头
$ 表示 结尾
const tel = /^1[3456789]\d{9}$/
const num = /(^[0]$)|(^[1-9]+[0-9]*$)/
const money = /(^[0]$)|(^[0][\.]([0-9]+)$)|(^[1-9]+[\.][0-9]+$)|(^[0-9]+$)/
const username = /^[\w.@]{3,30}$/
const password = /^[a-z0-9_\.-@]{6,25}$/
const regId = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
const validName = (rule, value, cb) => {
if (!value) return cb(new Error('请输入姓名'))
if (value.length < 2 || value.length > 20) {
return cb(new Error('姓名长度在2~20之间'))
}
cb()
}
语法
不为空匹配
要匹配不为空的字符串,可以使用正则表达式/.+/。其中,.表示匹配任意字符,+表示匹配前面的字符至少一次。因此,/.+/表示匹配至少一个字符的字符串,即不为空的字符串。在JavaScript中,可以使用test方法来判断一个字符串是否匹配某个正则表达式
const str = 'hello world';
const regex = /.+/;
const isNotEmpty = regex.test(str);
console.log(isNotEmpty); // true
const emptyStr = '';
const isEmpty = regex.test(emptyStr);
console.log(isEmpty); // false