现在的位置: 首页 > 综合 > 正文

JavaScript检测提交表单text合法

2017年11月08日 ⁄ 综合 ⁄ 共 1121字 ⁄ 字号 评论关闭

近日,一朋友开设了地方性质的论坛,让我帮他处理下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中的位置。

抱歉!评论已关闭.