(ファイル名として適当でない記号が入っていたらfalseを得たいです)
ターゲットブラウザはIE5以上でお願いします。
よろしくお願いいたします。
以下のような感じでどうでしょうか。
str.match( /^.*[(\\|/|:|\*|?|\"|<|>|\|)].*$/ )
Windowsでファイル名に使えない\,/,:,*,?,",<,>,|がstrに含まれるとmatchがtrueを返します。
以下に簡単なサンプルも載せておきます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ファイル名チェックサンプル</title> <script type="text/javascript"> function FileNameCheck() { var str = document.getElementById("str1").value; // alert(str); if( str.match( /^.*[(\\|/|:|\*|?|\"|<|>|\|)].*$/ ) ) { alert("正しいファイル名を指定してください。"); return 1; } else if (str=="") { alert("ファイル名を入力してください。"); return 1; } alert("ファイル名チェックO.K.です。"); return 0; } </script> </head> <body> <form onSubmit="FileNameCheck()"> <input id="str1"> </form> </body> </html>
参考になれば幸いです。
正規表現じゃないですけど
function check(c){
var result = true;
for(i = 0;i<c.length; i++){</p>
switch(c.substring(i, i + 1)){
case ":":
case ";":
result = false;
}
}
return result;
}
これでチェックはできると思います。
(弾きたい文字をcase文に追加していく)
以下のような感じでどうでしょうか。
str.match( /^.*[(\\|/|:|\*|?|\"|<|>|\|)].*$/ )
Windowsでファイル名に使えない\,/,:,*,?,",<,>,|がstrに含まれるとmatchがtrueを返します。
以下に簡単なサンプルも載せておきます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ファイル名チェックサンプル</title> <script type="text/javascript"> function FileNameCheck() { var str = document.getElementById("str1").value; // alert(str); if( str.match( /^.*[(\\|/|:|\*|?|\"|<|>|\|)].*$/ ) ) { alert("正しいファイル名を指定してください。"); return 1; } else if (str=="") { alert("ファイル名を入力してください。"); return 1; } alert("ファイル名チェックO.K.です。"); return 0; } </script> </head> <body> <form onSubmit="FileNameCheck()"> <input id="str1"> </form> </body> </html>
参考になれば幸いです。
ではこれでは?
function check(c){
var result = c.match(/[^0-9A-Za-z.]+/) == null;
return result;
}
(実質2行目だけですけど)
ごめんなさい。不可です。
質問にあるとおり、正規表現で実現させたいのです。
もっとピンポイントで言うと、パターンの指定がわからないのでぃす。
このパターンだけでも教えてくれる人がいるとうれしいです。