2017-04-11 131 views
2

我的java脚本正则表达式验证需要以下条件。javascript正则表达式验证函数

  1. 只接受字母值
  2. 不要只接受数值
  3. 不要只接受特殊字符
  4. 接受

我写了下面的代码,以字母数字和特殊字符值的组合实现它

function validateAlphaNumChar(str) { 

     var filter = /^[ [email protected]@./#&+-]*$/; 
     if (filter.test(str)) { 

      return true; 
     } 
     else { 

      return false; 
     } 
    } 

,我也尝试了不同的正则表达式,但从未达到预期的效果。

请帮我用正确的正则表达式进行验证。

谢谢

+3

https://regex101.com/试试这个网站,你的正则表达式来工作,它确实有助于 –

+0

* *给所有可能的答复者** - 我们能不能“只提供代码”?至少试着帮助OP自己去那里。 – evolutionxbox

+1

使用函数,因为你有3个矛盾条件 – BhandariS

回答

0

因为,有必要在你的字符串字母,简单地检查该

function validateAlphaNumChar(str) { 

     var filter = /^[ [email protected]@./#&+-]*$/; 
     var filterAlphabets = /^[ A-Za-z]*$/; 
     if (filter.test(str)) { 
      if (filterAlphabets.test(str)){ 
      return true; 
      } 
      else{ 
      return false; } 

     } 
     else { 

      return false; 
     } 
    } 

这是假设数字和特殊字符的组合是不允许

+0

尝试过,但仍然有一些条件不起作用,例如。 A @ this returns false – Shrikrishna

+0

编辑了代码 - 再试一次 – BhandariS

+0

仍然无法正常工作 – Shrikrishna

0

如果我理解这个问题,它应该是这样的

  1. Check如果它仅包含数字
  2. 检查是否只包含特殊符号

function validateAlphaNumChar(str) { 
 
     var filterABC = /^[A-Za-z]*$/; 
 
     var filterNUM = /^[0-9]*$/; 
 
     var filterSPEC = /^[[email protected]@./#&+-]*$/; 
 
     if (filterNUM.test(str)) { 
 
      return false; 
 
     } else if(filterSPEC.test(str)) { 
 
      return false; 
 
     } else { 
 
      return true; 
 
     } 
 
     
 
     
 
    } 
 
    
 
    
 
document.getElementById("demo").innerHTML = validateAlphaNumChar("[email protected]");
<p id="demo"></p>