现在我从一个文本框里 得到一个值: var v =document.getElementById("v1").value;
要进行验证 比如1002 通过 1002+1003 通过 1002-1003 通过 1002+1003-1002 通过 1002+1003-1002+10022 通过
1003-1002+1003 也通过 ------ 不通过 ++++++不通过 1002++++++++1003不通过 1002------11111不通过
请牛人指教这个验证怎么写
要进行验证 比如1002 通过 1002+1003 通过 1002-1003 通过 1002+1003-1002 通过 1002+1003-1002+10022 通过
1003-1002+1003 也通过 ------ 不通过 ++++++不通过 1002++++++++1003不通过 1002------11111不通过
请牛人指教这个验证怎么写
解决方案 »
- java web 课程设计需要做一个bbs系统,需要注意那些东西呢
- 关于frameset的页面关系
- jstl问题
- 有人这样用过吗<jsp:include page="<%="/sourceAction.do?operate=getProvinceName&countryName="+request.getParameter
- 『散分』如果让你做主考官,你会问什么问题(来者有分)仅限于java
- jsp调用servlet 404错误
- 关于switch()问题
- 初学jsp,关于io的问题
- 紧急求救!~!~jrun3。0 下,如何放置自己的jsp,servlet以及javabean文件啊,小弟不才,请大侠指教啊,急,急,急,
- 循环请求 http Permission denied
- 图片上传中的复制问题~~~急!!!在线等....
- 【求助】JACOB调用COM组件问题,急
多重if, 或者你会正则表达式的话, 用正则表达式去匹配, 不过像你要求这样具体的数字,还是不推荐用正则表达式. 就用if吧
1个不确定是 四位数个数1到多个
2个不确定是 没两个四位数中间的+或-个数 1到多个
以上综述 不要用正则了
也不要判断了 就直接替换掉吧 判断var v =document.getElementById("v1").value;的值是否含有++或--
有的话就替换replace("++",+) -是同理
然后递归再判断
function strReplace(str,type){
var typeTemp = "";
if(type == "++"){
typeTemp = "+";
}else if(type == "--"){
typeTemp = "-";
}
if(str.indexOf(type) != -1){
str = str.replace(type,typeTemp);
strReplace(str,type);
}else{
return str;
}
}
试试 我这个是用text文本写的 没测试
type是++或--
str 对应var v =document.getElementById("v1").value;
type 对应++ 或 --
eg:
var v =document.getElementById("v1").value;
strReplace(v,"++");
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function strReplace(type){
var v =document.getElementById("v1").value;
var typeTemp = "";
if(type == "++"){
typeTemp = "+";
}else if(type == "--"){
typeTemp = "-";
}
if(v.indexOf(type) != -1){
v = v.replace(type,typeTemp);
strReplace(v,type);
}else{
return v;
alert(v);
}
}//-->
</SCRIPT>
</HEAD><BODY>
<input type="text" id="v1" />
<input type="button" value="test" onclick="strReplace('+')">
</BODY>
</HTML>
var v =document.getElementById("v1").value;if(v.match(/\d+((\+|\-)\d+)+/)){
alert("True");
}else{
alert("False");
}
function test(text)
try {
return !isNaN(eval(text)*1);
} catch (e) {
return false;
}
}绝大部分情况没问题,但是对牛人来说,存在注入漏洞
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">function strReplace(str,type){
var typeTemp = "";
var result = "";
if(type == "++"){
typeTemp = "+";
}else if(type == "--"){
typeTemp = "-";
}
if(str.indexOf(type) != -1){
str = str.replace(type,typeTemp);
return strReplace(str,type);;
}else{
return str;
}
}
function doSom(){
var v =document.getElementById("v1").value;
var temp = strReplace(v,"++");
alert("结果:" + temp);}
</SCRIPT>
</HEAD><BODY>
<input type="text" id="v1" />
<input type="button" value="test" onClick="doSom();">
</BODY>
</HTML>