如何匹配一个字符,以查找它是否是javascript中的特殊字符

时间:2017-06-04 16:37:38

标签: javascript automation

我试图找出我的字符串是否包含任何特殊字符。我是javascript的新手,非常感谢你的帮助。

这是一个简化的代码:

function checkMe(text){
    var reg = '/[a-zA-Z0-9-]/gi';
    var character = text.charAt(0);
    if((character.match(reg)) == false){
        alert("special character found!!  ");
     }
}

这不是提供所需的输出。请帮忙!!

2 个答案:

答案 0 :(得分:1)

首先,你需要一个正则表达式而不是一个带有正则表达式的字符串。

然后你需要检查一下,因为你得到一个有效字符,一个匹配字符的数组。如果不匹配,则String#match会返回null



function checkMe(text) {
    var reg = /[a-z0-9-]/gi;   // regular expr, A-Z is not necessary, because of flag i
    if (!text[0].match(reg)) { // test for falsyness
        console.log("special character found!");
    }
}

checkMe('Übermut');




答案 1 :(得分:0)

我认为你的意思是特殊字符意味着!@#等。 您可以通过在正则表达式上调用test来检查。 请参阅下面的代码,一个带有特殊字符,另一个带有普通字符。

function checkMe(text) {
  var reg = /[a-zA-Z0-9-]/gi;
  var character = text.charAt(0);
  if (!reg.test(character)) {
    alert("special character found!!  ");
  } else {
    alert("NO special character found!!  ");
  }
}


checkMe('!@#$');
checkMe('normal');