我试图找出我的字符串是否包含任何特殊字符。我是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!! ");
}
}
这不是提供所需的输出。请帮忙!!
答案 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');