1

保存されるファイル名の一部となるテキストの文字列があります。不正な文字を削除する必要があります(つまり、英数字以外、ラテンベースの文字のみ)

これは私がこれまでに持っているものです:

それを理解しました、正規表現-fuレベルは通常に戻ります!

function isValidFilename(fname)
{ 
  var rexp = new RegExp(/[^a-zA-Z0-9]/gim)
  return fname.replace(rexp, "")
}

var v = "my$filename"
alert(v + "\nis valid???\n\n" + isValidFilename(v))

v = "myfilename"
alert(v + "\nis valid???\n\n" + isValidFilename(v))
4

2 に答える 2

2

無効な文字を削除するのではなく、有効な文字に対して検証する必要があります

^ []グループ内では、そのグループが無効になります。

/ [^ A-Za-z0-9 .-] /で置換を使用して、このグループに属していないすべての文字を削除できます。

于 2013-01-30T10:51:29.257 に答える
2

別の質問でこれを見つけました:

/^[0-9a-zA-Z\^\&\'\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\+\~\_ ]+$/

取得元:ファイル名を検証するためのJavascript正規表現

たぶんあなたはこれを使ってあなたが欲しかったものを手に入れることができますか?

于 2013-01-30T10:47:25.093 に答える