shineout
Version:
Shein 前端组件库
20 lines (17 loc) • 472 B
JavaScript
import nullable from './nullable';
export default (function (regExp, options) {
return nullable(function (value, _formdata, callback) {
var message = options.message;
var reg = typeof regExp === 'string' ? new RegExp(regExp) : regExp;
if (!reg) {
callback(new Error(message));
return;
}
if (reg.global) reg.lastIndex = 0;
if (reg.test(value)) {
callback(true);
} else {
callback(new Error(message));
}
});
});