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" οnsubmit="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中的位置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
表单验证是Web开发中常见的需求。以下是一个简单的用JavaScript实现表单验证的例子: HTML代码: ``` <form id="myForm"> <label for="name">姓名:</label> <input type="text" id="name" name="name" placeholder="请输入姓名"> <span id="nameError" class="error"></span><br> <label for="email">邮箱:</label> <input type="email" id="email" name="email" placeholder="请输入邮箱"> <span id="emailError" class="error"></span><br> <label for="password">密码:</label> <input type="password" id="password" name="password" placeholder="请输入密码"> <span id="passwordError" class="error"></span><br> <button type="submit">提交</button> </form> ``` JavaScript代码: ``` // 获取表单元素 const myForm = document.getElementById("myForm"); const nameInput = document.getElementById("name"); const emailInput = document.getElementById("email"); const passwordInput = document.getElementById("password"); // 获取错误提示元素 const nameError = document.getElementById("nameError"); const emailError = document.getElementById("emailError"); const passwordError = document.getElementById("passwordError"); // 表单验证函数 function validateForm() { let isValid = true; // 默认为true,表示表单验证通过 // 验证姓名是否为空 if (nameInput.value.trim() === "") { nameError.innerText = "姓名不能为空"; isValid = false; } else { nameError.innerText = ""; } // 验证邮箱是否合法 const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(emailInput.value)) { emailError.innerText = "邮箱格式不正确"; isValid = false; } else { emailError.innerText = ""; } // 验证密码是否为空 if (passwordInput.value.trim() === "") { passwordError.innerText = "密码不能为空"; isValid = false; } else { passwordError.innerText = ""; } return isValid; } // 表单提交时调用表单验证函数 myForm.addEventListener("submit", function(event) { if (!validateForm()) { // 如果表单验证不通过,阻止表单提交 event.preventDefault(); } }); ``` 上述代码实现了简单的表单验证功能,包括验证姓名是否为空、验证邮箱是否合法、验证密码是否为空。在提交表单时,先调用表单验证函数判断表单是否合法,如果不合法则阻止表单提交

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值