如何验证一个字符串的合法性? 不支持单非操作例如:a&(b&c)&(!d)是正确的格式 !a 和 ((a&B)|c 为不正确的格式不明白你的意思! 什么叫不支持单非操作啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用正则表达式模拟堆栈写了一个,你看可以不function checkExp(exp){ if(exp.match(/^\s*(\(\s*!?\s*[a-zA-Z]\)|!?\s*[a-zA-Z])\s*$/)) return false; exp=exp.replace(/\s*(\(\s*!?\s*[a-zA-Z]\)|!?\s*[a-zA-Z])\s*/g,"@"); var temp=exp; while(temp!="@"){ exp=temp; temp=temp.replace(/\s*(\(\s*!?\s*[@]\)|!?\s*[@])\s*/g,"@"); temp=temp.replace(/\s*[@]\s*&\s*[@]\s*/g,"@"); temp=temp.replace(/\s*[@]\s*\|\s*[@]\s*/g,"@"); if(temp==exp) break; } exp=temp; if(exp=="@") return true; else return false;} 好象不行,格式一般为:(fdsa & fds)| (d测试 | fds) | !dfsa像这样的应该是不正确的格式 gbce (fd)f fds & f&!d ,这和验证程序差不多,gbce和(fd)都是字符串,则二者应该有符号连接起来可以在帮我看看吗? HTML5 游戏 West Fighting, 西途决斗 - 原创 如何实现此种文本框??? Cookie是属于一个页面, 还是整个网站呢? 怎么让弹出窗口随表的大小自动改变其大小 多表单时,如何用getElementsByName获取指定表单的值 字符串替换问题 取日期的代码有什么错误 怎样读取iframe的内容到指定区域 一个鼠标事件如何定义两个动作?100分.只送一人! 递归......... 如何把一个层显示在最顶端???? 问个hta的问题,再问个showModelessDialog的问题
function checkExp(exp){
if(exp.match(/^\s*(\(\s*!?\s*[a-zA-Z]\)|!?\s*[a-zA-Z])\s*$/)) return false;
exp=exp.replace(/\s*(\(\s*!?\s*[a-zA-Z]\)|!?\s*[a-zA-Z])\s*/g,"@");
var temp=exp;
while(temp!="@"){
exp=temp;
temp=temp.replace(/\s*(\(\s*!?\s*[@]\)|!?\s*[@])\s*/g,"@");
temp=temp.replace(/\s*[@]\s*&\s*[@]\s*/g,"@");
temp=temp.replace(/\s*[@]\s*\|\s*[@]\s*/g,"@");
if(temp==exp) break;
}
exp=temp;
if(exp=="@") return true;
else return false;
}
(fdsa & fds)| (d测试 | fds) | !dfsa像这样的应该是不正确的格式 gbce (fd)f fds & f&!d ,这和验证程序差不多,
gbce和(fd)都是字符串,则二者应该有符号连接起来
可以在帮我看看吗?