zoukankan      html  css  js  c++  java
  • JavaScript检测提交表单text合法

    近日,一朋友开设了地方性质的论坛,让我帮他处理下Login.php(所谓的用户的登陆页面),但是登陆的时候,出现空字符或敏感字符,需要提交到服务端的Script处理,大大降低了效率,于是乎,就有了此代码之旅。

    首先在网页的<head>部分写入js功能函数。我们暂且命名为recheck。

    function recheck
    {
    	if(document.getElementById(user).value==""||document.getElementById(user).value==null) //user为该text框ID
    	{
    		alert("不能为空"); //警告弹窗
    		return fasle;//函数返回值,阻止表单继续提交
    	}
    }


    第一次忘记写返回值了,导致给提交出去了--过滤了是过滤了,但是服务端还出现了无用数据--的处理

    然后网页的Demo片段

    <form id="form1" name="form1" method="post" action="x.php" onsubmit="return recheck()"><!--x.php为提交到的页面-->
    <input id="user" type="text" name="user" />
    <input type="submit" value="Submit" />
    </form>

    表单触发onsubmit提交事件后,检测表单内容是否为空,为空则返回FALSE假,不执行数据提交,否则为TRUE真则提交。
    onblur即文本框失去焦点触发该JS DOM事件,即时提醒用户。document.getElementById(user).value即取得表单文本框的内容,你也可以写成 document.getElementsByName(文本框控件的NAME属性)[0].value,注意!document.getElementsByName返回的是数组!一个页面只允许一个ID出现,但是可以有多个相同的NAME!
    假如你需要判断比较复杂的,例如:JS检测电子邮件地址合法的简单办法就是用JavaScript(JS)字符串查找/搜索函数来找是否有“@”和“.”:
    String对像的indexOf或lastIndexOf:可用字符串的indexOf()方法判断。
    再复杂些,你需要使用JS正则表达式来判断。

    至于indexOf()函数

    (1)start为你在str1中查找str2时的起始位置,可以省略,省略时默认起始位置   
    为0,即从str1的第0位字符开始找str2。   
    (2)value为返回值,如果value值为-1,则为没在str1中找到str2,若返回值不为   
    -1,则说明已经找到,并且得到了str2的第一个字符在str1中的位置。

  • 相关阅读:
    【LibreOJ】#6257. 「CodePlus 2017 12 月赛」可做题2
    【Atcoer】ARC088 E
    【Atcoder】ARC088 D
    【CodeForces】671 D. Roads in Yusland
    【CodeForces】671 B. Robin Hood
    【CodeForces】671 C. Ultimate Weirdness of an Array
    【CodeForces】679 A. Bear and Prime 100
    【CodeForces】679 B. Bear and Tower of Cubes
    【BZOJ】3262: 陌上花开
    【CodeForces】899 F. Letters Removing
  • 原文地址:https://www.cnblogs.com/croot/p/3235107.html
Copyright © 2011-2022 走看看