在线求一个js对一个表单的判断,比如说一个表单中只能输入1+2+3-5等等,汉字也可以,就是不能出现连续两个或以上符号,比如1+2++3--5这样就不让通过,主要是在加法和减法中,一次只能出现一个逻辑符号,但可不连续出现多次。
高手在哪儿?请赐教,速度。谢谢!

解决方案 »

  1.   

    我不是牛人,刚好路过。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>    <script language="javascript">
            function textChecker(myObject)
            {
                var myArray = myObject.value.split("");
                if (myArray.length > 1)
                {
                    var myLength = myArray.length;
                    if (myArray[myLength - 1] == myArray[myLength - 2])
                    {
                        alert("Cann't be duplicate.");
                        myArray.length -= 1;
                        myObject.value = myArray.join("");
                        textChecker(myObject);
                    }
                }
            }
        </script></head>
    <body>
        <form id="form1" runat="server">
        <div>
            <input type="text" id="myText" onblur="textChecker(this);" />
        </div>
        </form>
    </body>
    </html>
      

  2.   


    <input type="text" id="test" onblur="alert(/^(\d+[\+\*\/%-])+\d+$/.test(this.value) ? '这是有效的表达式,结果:'+eval(this.value) : '请输入有效的表达式')" />
      

  3.   

    var  str = "12+23*34/34";
    var stt = "哈哈";
    alert(/^((\d+([\+\-\*\/]){0,1})+\d+|[\u4e00-\u9fa5]+)$/.test(str));
    这个可以判断,但不能混合输入,你要想混合输入,还要自己改改