在string中如何检查所有字符都不是特殊字符

时间:2014-12-19 20:36:42

标签: javascript jquery html regex

我有像

这样的字符串
var xyz  = "&#%&^%@%&#&#^%^&%#"

或with可能是这样的空间

var xyz ="$^&# $^&$ $&$^$^ @(*^"

我想验证那些所有字符不应该是特殊字符,空格或没有空格的字符串

使用jquery或javscript!

3 个答案:

答案 0 :(得分:1)

我不相信你特别需要jquery。你在javascript中可以做的是创建一个像这样的函数,如果字符串有任何特殊字符(不是字母或数字),则返回true

function hasSpecialChars(var str) {
    for (int i = 0; i < str.length; i++) {
        var ch = str.charAt(i);
        if ( !((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == ' ') )
            return true;
    }
    return false;
}

答案 1 :(得分:0)

试试这个

var special=[" ",];///add any special character in this array
function check(){

      var str=prompt("Give me  a string");
      for(i=0;i<str.length;i++){
      if(str.indexOf(special[i] != -1){alert("Not valid")}  
}  
}

答案 2 :(得分:0)

我不知道你是想要所有特殊字符还是没有特殊字符。无论哪种方式,这里都不需要jQuery。普通旧JS中的正则表达式可以轻松处理这个问题:

var r = /^[_\W\s]*$/;     //Only special characters and whitespace allowed
var r = /^[a-z0-9\s]*$/i; //No special characters allowed

请注意,支持Unicode的版本很有可能,但稍微复杂一些。

编辑:听起来你真的想要这个:

var r = /[^_\W]/; //Must contain at least one alphanumeric character