3

テキストボックスがあります。ユーザーが特殊文字やスペースを入力できないようにするこのJSがあります。

var reg = /^[0-9a-zA-Z]+$/; 
if(reg.test(DivisionName) == false) {
   alert('Please enter Circle Name without special characters.');
   return false;
}
else{
   window.location.href="addCircles.jsp?DivisionName="+DivisionName+"&cancel=";
} 

ここで、ユーザーがスペースだけでなく特殊文字を入力できるようにしたいと考えています。例えば、

{"スタック オーバーフロー","任意の$$"}
許可されています。
{" "}
は許可されていません。条件を削除すると、スペースが許可されます。どうやってやるの?

4

3 に答える 3

1

おそらく、どの入力が有効で、どの入力が無効になるかの例を挙げていただけますか? そうすれば、正規表現であなたを助けることができます。

例えば:

var tests = [
'',    // bad
' ',    // bad
' foo', // bad
'foo ', // bad
'foo', // good
'foo bar' // good
]
var regex = /^[0-9a-zA-Z!@#$%^&*]+(\s[0-9a-zA-Z!@#$%^&*]+)*$/
for (var i = 0; i < tests.length; i++){
    console.log('"' + tests[i] + '"=' + regex.test(tests[i]))
}

与えます:

""=false
" "=false
" foo"=false
"foo "=false
"foo"=true
"foo bar"=true

例: jsFiddle

于 2013-09-03T07:43:32.037 に答える
0

作業サンプル

HTML

<input>

Javascript

$("input").on("keydown", function (e) {
    return e.which !== 32;
});

これにより、空白を除くすべてのアルファベット、文字、特殊文字が許可されます..

于 2013-09-03T07:21:25.200 に答える