js正则表达式

正则表达式总结:

前端输出的字符串:var str="/^[0-9]*$/" ,若用对象的话 直接eval(str) 就ok  

因为正则test貌似只能对象才可以, 个人测试的,

伪代码如下:

var regularExp=/^[0-9]*$/;

if(regularExp.test(column_form_name_value)!=true){}  这样就ok

var regularExp="/^[0-9]*$/";

if(regularExp.test(column_form_name_value)!=true){}  这样就存在问题,需要把正则表达式转对象才可以。

 

 

又搞了2个小时的心得================哎 ==============fuck=============长点记性吧

一、伪代码对比

经典,错误伪代码:

var zz=returnstr.split(",")[1];

var regularExp=new RegExp(zz);

var flg=regularExp.test(column_form_name_value);

经典,正确伪代码:

var zz=returnstr.split(",")[1];

var regularExp=new RegExp(eval(zz));

var flg=regularExp.test(column_form_name_value);

 

二、查找分析原因:

数据库存放的是 /\S/

前端通过console.log输出的也是/\S/

但是regularExp=new RegExp(zz);这样写,的test怎么就是判断不正确呢,因为zz输出的是字符串,

但是若用字符串的方式判断是否是字符串,却判断不了, 因为里面含有转义字符串,

为什么直接放到RegExp这里面可以(new RegExp(/\S/)),因为符合正则表达式规则,是正则表达式的对象。

解决这种问题。需要转变成对象就可以了。更改成这样的regularExp=new RegExp(eval(zz));就行了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值