目标:对输入内容验证,符合规范才能提交
实际情况:完全没有作用,当输入的不符合规范时,没有任何提示,提交时直接提交了。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title></head>
<body>
<h1>注册页面</h1>
<form action="表格.html" method="get" onsubmit="return checkForm()">
用户名:<input type="text" name="username" id ="usernameId" onkeyup="checkName()"/>
<span id="usernameMsg"></span><br><br>
密 码:<input type="password" name="password" id="passwordId" onkeyup="checkPassword()"/>
<span id="passwordMsg"></span><br><br>
手机号:<input type="text" name="phone" id="phoneId" onkeyup="checkPhone()"/>
<span id="phoneMsg"></span><br/><br/><br/>
<input type="submit" value="注册"/></form>
</body>
<script type="text/javascript">
//定义全局变量
var usernameObj;
var passwordObj;
var phoneObj;
var usernameMsg;
var passwordMsg;
var phoneMsg;
window.onload=function(){
//获取输入空间的标记对象
usernameObj=document.getElementById("usernameId");
passwordObj=document.getElementById("passwordId");
phoneObj=document.getElementById("phoneId");
//获取错误信息的标记对象
usernameMsg=document.getElementById("usernameMsg");
passwordMsg=document.getElementById("passwordMsg");
phoneMsg=document.getElementById("phoneMsg");
}//表单校验function checkForm(){
var usernameFlag =checkName();
var passwordFlag =checkPassword();
var phoneFlag= checkPhone();
return usernameFlag&&passwordFlag&&phoneFlag;
}
//校验用户名
funciton checkName(){
//获取用户名
var value=usernameObj.value;
//创建正则表达式来校验用户名
var regx=/^[a-zA-Z]\w{3,6}$/;//用户名以部分大小写的字母开始,包含字母数字下划线长度为4-7位
//校验
if(value==""){
usernameMsg.innerHTML="用户名不能为空";
return false;
}else if(!regx.test(value)){
usernameMsg.innerHTML="用户名必须以字母开始,不区分大小写,包含字母数字下划线长度4-7位";
return false;
}else{
usernameMsg.innerHTML="";
return true;
}
}
//校验密码
function checkPassword(){
//获取密码
var value=passwordObj.value;
//创建正则表达式来校验密码
var regx=/^[a-zA-Z0-9]{3,6}$/;//密码是字母和数字组成,长度是3-6位
//校验
if(!value){
passwordMsg.innerHTML="密码不能为空";
return false;
}else if(!regx.test(value)){
passwordMsg.innerHTML="密码是字母和数字组成,长度3-6位";
return false;
}else{
passwordMsg.innerHTML="";
return true;
}
}
//校验手机号
function checkPhone(){
var value=phoneObj.value;
var regx=/^1[3|5|7|8][0-9]{9}$/;
if(!value){
phoneMsg.innerHTML="密码不能为空";
return false;
}else if(!regx.test(value)){
phoneMsg.innerHTML="密码是字母和数字组成,长度3-6位";
return false;
}else{
phoneMsg.innerHTML="";
return true;
}
}</script>
</html>
实际情况:完全没有作用,当输入的不符合规范时,没有任何提示,提交时直接提交了。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title></head>
<body>
<h1>注册页面</h1>
<form action="表格.html" method="get" onsubmit="return checkForm()">
用户名:<input type="text" name="username" id ="usernameId" onkeyup="checkName()"/>
<span id="usernameMsg"></span><br><br>
密 码:<input type="password" name="password" id="passwordId" onkeyup="checkPassword()"/>
<span id="passwordMsg"></span><br><br>
手机号:<input type="text" name="phone" id="phoneId" onkeyup="checkPhone()"/>
<span id="phoneMsg"></span><br/><br/><br/>
<input type="submit" value="注册"/></form>
</body>
<script type="text/javascript">
//定义全局变量
var usernameObj;
var passwordObj;
var phoneObj;
var usernameMsg;
var passwordMsg;
var phoneMsg;
window.onload=function(){
//获取输入空间的标记对象
usernameObj=document.getElementById("usernameId");
passwordObj=document.getElementById("passwordId");
phoneObj=document.getElementById("phoneId");
//获取错误信息的标记对象
usernameMsg=document.getElementById("usernameMsg");
passwordMsg=document.getElementById("passwordMsg");
phoneMsg=document.getElementById("phoneMsg");
}//表单校验function checkForm(){
var usernameFlag =checkName();
var passwordFlag =checkPassword();
var phoneFlag= checkPhone();
return usernameFlag&&passwordFlag&&phoneFlag;
}
//校验用户名
funciton checkName(){
//获取用户名
var value=usernameObj.value;
//创建正则表达式来校验用户名
var regx=/^[a-zA-Z]\w{3,6}$/;//用户名以部分大小写的字母开始,包含字母数字下划线长度为4-7位
//校验
if(value==""){
usernameMsg.innerHTML="用户名不能为空";
return false;
}else if(!regx.test(value)){
usernameMsg.innerHTML="用户名必须以字母开始,不区分大小写,包含字母数字下划线长度4-7位";
return false;
}else{
usernameMsg.innerHTML="";
return true;
}
}
//校验密码
function checkPassword(){
//获取密码
var value=passwordObj.value;
//创建正则表达式来校验密码
var regx=/^[a-zA-Z0-9]{3,6}$/;//密码是字母和数字组成,长度是3-6位
//校验
if(!value){
passwordMsg.innerHTML="密码不能为空";
return false;
}else if(!regx.test(value)){
passwordMsg.innerHTML="密码是字母和数字组成,长度3-6位";
return false;
}else{
passwordMsg.innerHTML="";
return true;
}
}
//校验手机号
function checkPhone(){
var value=phoneObj.value;
var regx=/^1[3|5|7|8][0-9]{9}$/;
if(!value){
phoneMsg.innerHTML="密码不能为空";
return false;
}else if(!regx.test(value)){
phoneMsg.innerHTML="密码是字母和数字组成,长度3-6位";
return false;
}else{
phoneMsg.innerHTML="";
return true;
}
}</script>
</html>
解决方案 »
- iframe跨域
- JavaScript请教高手
- js,提交的时候,如何得到Score[325]输入的值?
- 开发JS一般用什么工具
- 如何实现树形下拉框
- 一个页面,用户如果没有成功登录,则不允许访问,自动跳转到login.asp
- 关于img.src的难题?
- JavaScript迷惑问题之十三:如何在点击连接时明确地将单击事件和双击事件区分开?
- 求助:在html页面放个shockwaveflash 控件??
- 请问,在javascript中,点击一个链接可以用window.open()打开一个新的窗口,那么,有没有函数来代替:<a href="mailto:[email protected]">发信</a>中的mailto:[email protected]?多谢了!
- JS模拟键盘输入的问题
- easyui 父页面能否获取到子页面元素再.combobox()?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title></head>
<body>
<h1>注册页面</h1>
<form action="表格.html" method="get" onsubmit="return checkForm()">
用户名:<input type="text" name="username" id ="usernameId" onkeyup="checkName()"/>
<span id="usernameMsg"></span><br><br>
密 码:<input type="password" name="password" id="passwordId" onkeyup="checkPassword()"/>
<span id="passwordMsg"></span><br><br>
手机号:<input type="text" name="phone" id="phoneId" onkeyup="checkPhone()"/>
<span id="phoneMsg"></span><br/><br/><br/>
<input type="submit" value="注册"/></form>
</body>
<script type="text/javascript">
//定义全局变量
var usernameObj;
var passwordObj;
var phoneObj;
var usernameMsg;
var passwordMsg;
var phoneMsg;
window.onload=function(){
//获取输入空间的标记对象
usernameObj=document.getElementById("usernameId");
passwordObj=document.getElementById("passwordId");
phoneObj=document.getElementById("phoneId");
//获取错误信息的标记对象
usernameMsg=document.getElementById("usernameMsg");
passwordMsg=document.getElementById("passwordMsg");
phoneMsg=document.getElementById("phoneMsg");
}//表单校验function checkForm(){
var usernameFlag = checkName();
var passwordFlag =checkPassword();
var phoneFlag= checkPhone();
return usernameFlag&&passwordFlag&&phoneFlag;
}
//校验用户名
function checkName() {
var value=usernameObj.value;
var regx=/^[a-zA-Z]\w{3,6}$/;
if(value==""){
usernameMsg.innerHTML="用户名不能为空";
return false;
}else if(!regx.test(value)){
usernameMsg.innerHTML="用户名必须以字母开始,不区分大小写,包含字母数字下划线长度4-7位";
return false;
}else{
usernameMsg.innerHTML="";
return true;
}
}
//校验密码
function checkPassword(){
//获取密码
var value=passwordObj.value;
//创建正则表达式来校验密码
var regx=/^[a-zA-Z0-9]{3,6}$/;//密码是字母和数字组成,长度是3-6位
//校验
if(!value){
passwordMsg.innerHTML="密码不能为空";
return false;
}else if(!regx.test(value)){
passwordMsg.innerHTML="密码是字母和数字组成,长度3-6位";
return false;
}else{
passwordMsg.innerHTML="";
return true;
}
}
//校验手机号
function checkPhone(){
var value=phoneObj.value;
var regx=/^1[3|5|7|8][0-9]{9}$/;
if(!value){
phoneMsg.innerHTML="密码不能为空";
return false;
}else if(!regx.test(value)){
phoneMsg.innerHTML="密码是字母和数字组成,长度3-6位";
return false;
}else{
phoneMsg.innerHTML="";
return true;
}
}</script>
</html>