RegExp & bug
2024-09-04 16:46:16
RegExp & bug
translated bug
// OK && tranlate `/`
let new_obj_reg = new RegExp(`^(([^<>()\\[\\]\\.,;:\\s@\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$`);
// /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/
new_obj_reg.test(`admin@xgqfrms.xyz`);
// true
// Error && not tranlate `/`
let obj_reg = new RegExp(`^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$`);
// /^(([^<>()[].,;:s@"]+(.[^<>()[].,;:s@"]+)*)|(".+"))@(([^<>()[].,;:s@"]+.)+[^<>()[].,;:s@"]{2,})$/
obj_reg.test(`admin@xgqfrms.xyz`);
// false
let reg = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/;
// /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/
reg.test(`admin@xgqfrms.xyz`);
// true
// reg.test(`"admin@xgqfrms.xyz"`);
// false
console.log(`reg =\n`, reg);
console.log(`obj_reg =\n`, obj_reg);
console.log(`new_obj_reg =\n`, new_obj_reg);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
var regex1 = /\w+/;
let regex2 = new RegExp('\\w+');
console.log(regex1);
// expected output: /\w+/
console.log(regex2);
// expected output: /\w+/
console.log(regex1 === regex2);
// expected output: false
console.log({} === {});
// false
转译
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Description
// 转译 `\` && OK
let new_obj_reg = new RegExp(`^(([^<>()\\[\\]\\.,;:\\s@\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$`);
// /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/
new_obj_reg.test(`admin@xgqfrms.xyz`);
// true
// 未转译 `\` && Error
let obj_reg = new RegExp(`^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$`);
// /^(([^<>()[].,;:s@"]+(.[^<>()[].,;:s@"]+)*)|(".+"))@(([^<>()[].,;:s@"]+.)+[^<>()[].,;:s@"]{2,})$/
obj_reg.test(`admin@xgqfrms.xyz`);
// false
let reg = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/;
// /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/
reg.test(`admin@xgqfrms.xyz`);
// true
// reg.test(`"admin@xgqfrms.xyz"`);
// false
flags
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags
vue & form validation
password & re-sure password
// rules
{
passWord: [
{
required: true,
message: "请输入密码",
trigger: "change",
},
{
min: 3,
max: 20,
message: "长度在 3 到 20 个字符",
trigger: "blur",
}
],
passWordSure: [
{
required: true,
message: "请输入密码",
trigger: "change",
},
{
min: 3,
max: 20,
pattern: `^${this.$data.form.passWord}$`,
// pattern: `${this.$data.form.passWordSure}`,
message: "两次输入的密码不一致",
trigger: "blur",
}
],
}
ChildNode.remove()
https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove
最新文章
- Python 决策树的构造
- android 学习随笔十六(广播 )
- BZOJ 3163 Eden的新背包问题
- Env:Winmanager插件使用
- cocos2d-x使用DragonBones动画
- 【留坑】uva12299
- Qt入门(7)——窗口几何结构
- eclipse package,source folder,folder差别及相互转换
- Cesium原理篇:3D Tiles(2)数据结构
- 部署服务能在Dynamics CRM Online上使用吗?
- 剑指架构师系列-Redis集群部署
- pip3更新后install package出现ImportError: cannot import name &#39;main&#39;
- Windows下安装Anaconda
- 前端使用nginx 达到前后分离的开发目的
- postma概念与使用
- Laravel中resource方法
- Python 多进程编程之 进程间的通信(在Pool中Queue)
- jsonServer 造个假的服务器传递数据接口 再用axois来请求数据
- 微信公众号开发遇到simplexml_load_string 未定义
- gcc 编译出现 internal compiler error: Killed