日期:2014-05-17  浏览次数:20660 次

js 验证邮件、手机问题
var yj = /^[a-zA-Z0-9]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}$/; //邮件
var sj = /^1[3,5,8]\d{9}$/; //手机

var name = document.getElementById("name").value; //用户登录名

if(name.length <= 0){
   
  alert("请输入用户名!");
   
  }
else if(yj.test(name))
  {
   
  document.getElementById("dllx").value = '0';
 
  }else if (sj.test(name)){
   
  document.getElementById("dllx").value = '1';
  }

--------------------------------------------------
table 里有个隐藏 
<input type="hidden" name="dllx" id="dllx" />
-----------------------------------------------------
action里
private Zgsqxx zgxx; //set,get方法.
String dllx = request.getParameter("dllx");
if(dllx == "0"){
zgxx = sysLoginService.checkUserByYjdzAndPwd(user, pwd);

}else if (dllx == "1"){
zgxx = sysLoginService.checkUserBySjhmAndPwd(user, pwd);
}


问题描述: 
就是想用隐藏域 判断用户输入的是邮件还是手机 。总是获取不到
在action里获取,等于0和等于1调用不同的方法。action里 应该是这样写的吧 ?

------解决方案--------------------
HTML code



<script>
function aa(){
    var a = document.getElementById("dllx").value;
    alert(a);
}
function bb(){
var yj = /^[a-zA-Z0-9]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}$/; //邮件
var sj = /^1[3,5,8]\d{9}$/; //手机
var name = document.getElementById("name").value; //用户登录名
if(name.length <= 0){
  alert("请输入用户名!");   
  }
else if(yj.test(name))
  {
  document.getElementById("dllx").value = '0';
  }else if (sj.test(name)){ 
  document.getElementById("dllx").value = '1';
  }
 }
</script>
<input type="hidden" name="dllx" id="dllx" />
<input type="text" name="name" id="name" />
<input type="button" onclick="bb();" value="提交">
<input type="button" onclick="aa();" value="测试是否赋值">