Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在同一html5文本框上使用按钮验证电子邮件和手机号码_Javascript_Jquery_Html_Validation - Fatal编程技术网

Javascript 在同一html5文本框上使用按钮验证电子邮件和手机号码

Javascript 在同一html5文本框上使用按钮验证电子邮件和手机号码,javascript,jquery,html,validation,Javascript,Jquery,Html,Validation,我想使用单个文本框验证电子邮件和手机号码 我尝试了很多方法,但都没有成功。我想验证它是javascript、html5、jquery还是angularjs都不是问题 请帮我解决这个问题。提前谢谢 您的电子邮件地址/手机号码 提交 以下是简单的javascript代码,它将验证电子邮件和电话号码 <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery

我想使用单个文本框验证电子邮件和手机号码

我尝试了很多方法,但都没有成功。我想验证它是javascript、html5、jquery还是angularjs都不是问题

请帮我解决这个问题。提前谢谢


您的电子邮件地址/手机号码
提交

以下是简单的javascript代码,它将验证电子邮件和电话号码

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
function ValidateEmail(mail)   
{  
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;  
// if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.emailAddr.value))  
if(mail.match(mailformat))
  {  alert(mail);
    return (true)  
  }  
    alert("You have entered an invalid email address!")  
    return (false)  
}  

function validate()
{
var data=document.getElementById("email").value;
checkNumberorEmail();

}
function phonenumber(inputtxt)  
{  
  var phoneno = /^\d{10}$/;  
  if((inputtxt.match(phoneno)))  
        {  
        alert(inputtxt);
      return true;  
        }  
      else  
        {  
        alert("enter 10 digit number");  
        return false;  
        }  
}  


function checkNumberorEmail()
{
  var data=document.getElementById("email").value;
  if (isNaN(data)) 
  {
    ValidateEmail(data)   ;

  }
  else{
  phonenumber(data) 
  }
}
</script>
</head>
<body>

<form >

<input type="text" name="email" id="email">
<input type="button" onclick="validate()">
</form>
</body>
</html>

函数ValidateEmail(邮件)
{  
var mailformat=/^\w+([\.-]?\w+*@\w+([\.-]?\w+*(\.\w{2,3})+$/;
//如果(/^\w+([\.-]?\w+*@\w+([\.-]?\w+*(\.\w{2,3})+$/.test(myForm.emailAddr.value))
if(mail.match(mailformat))
{警报(邮件);
返回(真)
}  
警报(“您输入的电子邮件地址无效!”)
返回(假)
}  
函数验证()
{
var data=document.getElementById(“电子邮件”).value;
CheckNumberEmail();
}
功能电话号码(输入文本)
{  
var phoneno=/^\d{10}$/;
if((inputText.match(phoneno)))
{  
警报(输入文本);
返回true;
}  
其他的
{  
警报(“输入10位数字”);
返回false;
}  
}  
函数checkNumberRorEmail()
{
var data=document.getElementById(“电子邮件”).value;
if(isNaN(数据))
{
验证邮件(数据);
}
否则{
电话号码(数据)
}
}

方法本身并不好。但在angular js中有一个可能的简单函数

HTML

<form name="form" ng-app="app" ng-controller="Ctrl" >
 <div class="control-group" ng-class="{invalidClass: 'error'}[submitted && form.email.$invalid]">
    <label class="control-label" for="email">Your email address/Mobile number</label>
    <div class="controls">
        <input type="text"  name="email" ng-model="email" required />

    </div>
 </div>

<button type="submit" class="btn btn-primary btn-large" ng-click="submitForm()">Submit</button></form>

您的电子邮件地址/手机号码
提交
控制器

$scope.submitForm = function(){
 if(validateEmail($scope.email) || validateMobile($scope.email)){
// The nput is email or mobile
}
else{
  //both are not valid
  console.log("Invalid inputs");
  $scope.invalidClass = true;
 }
}

 function validateEmail(email) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
  }
function validateMobile(email) {
    var re = /^\d{10}$/;
  return re.test(email);
}
$scope.submitForm=function(){
if(validateEmail($scope.email)| validateMobile($scope.email)){
//nput是电子邮件或手机
}
否则{
//两者都无效
console.log(“无效输入”);
$scope.invalidClass=true;
}
}
功能验证电子邮件(电子邮件){
变量re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.];
返回重新测试(电子邮件);
}
功能验证移动电话(电子邮件){
var re=/^\d{10}$/;
返回重新测试(电子邮件);
}

首先将字符串拆分为邮件和数字,然后使用regexe(在internet中搜索)和test(返回布尔值)或match(返回匹配值)。电子邮件的regExe是非常核心的。你可以自己写,但我不会。添加了小提琴代码和固定的语法和格式查看一下我的fiddle@chaitanya为什么在4个月后改变接受率??
$scope.submitForm = function(){
 if(validateEmail($scope.email) || validateMobile($scope.email)){
// The nput is email or mobile
}
else{
  //both are not valid
  console.log("Invalid inputs");
  $scope.invalidClass = true;
 }
}

 function validateEmail(email) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
  }
function validateMobile(email) {
    var re = /^\d{10}$/;
  return re.test(email);
}