我有像
这样的字符串var xyz = "&#%&^%@%&#&#^%^&%#"
或with可能是这样的空间
var xyz ="$^&# $^&$ $&$^$^ @(*^"
我想验证那些所有字符不应该是特殊字符,空格或没有空格的字符串
使用jquery或javscript!
答案 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