imputとしてcsvファイルを取得するスクリプトなどを探しています。 ファイルを1行ずつ解析し、現在の行に有効なメールが含まれているかどうかを確認します(例:[email protected])無効な電子メールアドレスからファイルを消去する方法
これは既にどこかに存在しているはずです。
javascript/jqueryを含むローカルのhtmlファイルが完璧です。
私は、確認なしで手動で入力した電子メールでリストをチェックする必要があります。
おかげ ミシェル
imputとしてcsvファイルを取得するスクリプトなどを探しています。 ファイルを1行ずつ解析し、現在の行に有効なメールが含まれているかどうかを確認します(例:[email protected])無効な電子メールアドレスからファイルを消去する方法
これは既にどこかに存在しているはずです。
javascript/jqueryを含むローカルのhtmlファイルが完璧です。
私は、確認なしで手動で入力した電子メールでリストをチェックする必要があります。
おかげ ミシェル
あなたはjavascriptを使用してローカルファイルを読み書きできるように文句を言わない、私はルビーでこれを書いています。コードがあなたにとって役に立たない場合は、正規表現になります。
#!/usr/bin/ruby
File.open("somefile.csv").each{ |line|
if line =~ /\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,6}/
puts "Good email!"
else
puts "FAIL"
end
}
1)電子メールアドレスの検証は非常に難しいことに注意してください。実際には完全に行うことは不可能です。これは、表現の複雑さ、カバレッジ、正確さ(誤検出)のトレードオフです。電子メールアドレスの検証については、他にも多くの質問があります。http://www.regular-expressions.info/email.html
2)フラットファイル(.csv)があります。あなたはブラウザでjavascriptと処理でこれを読むことはできません。他の言語を見る必要があります。 PerlとJavaは2つの言語が良い正規表現をサポートしていることをランダムに言及しています。
あなたはJavascriptのソリューションを探しましたので、ここであなたは、このようなCSVデータを含むいくつかのファイルを持っていると仮定すると、いくつかの平野JSである:ここでは
<pre id="csv">
a,b,[email protected]!tld
1,2,[email protected]
4,5,[email protected]
</pre>
あなたがセパレーターを交換したい場合がありますスクリプトです、使用された改行またはアドレスを確認するための正規表現。 Validate email address in JavaScript?
var separator = ',',
linebreak = '\n',
regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,
csv = document.getElementById('csv'),
lines = csv.innerHTML.split(linebreak),
fields,
i;
for(i = 0; i < lines.length; i++)
{
fields = lines[i].split(separator);
if (regex.test(fields[mailColumn]))
{
document.write(fields[mailColumn] + ' is valid<br/>');
}
}
こんにちは、あなたの答えをありがとう:あなたの検証要件に応じて、ここで、他の正規表現を探しています。 私は結局、ローカルのhtmlファイルとjavascriptを使ってそれを行うことに成功しました。
は、それが動作させるためには、私はその後、私は
生コード:-)それを
出来上がりをロードするために、「入力タイプ=ファイル」を使用し、htmlファイルの隣にあるCSVファイルを配置します。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Validation email</title>
<script src="jquery.js"></script>
<script>
function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
};
function no_accent (my_string) {
var new_string = "";
var pattern_accent = new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ý','þ','ÿ');
var pattern_replace_accent = new Array('A','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','D','N','O','O','O','0','O','O','U','U','U','U','Y','b','s','a','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','d','n','o','o','o','o','o','o','u','u','u','u','y','y','b','y');
if (my_string && my_string!= "") {
new_string = preg_replace (pattern_accent, pattern_replace_accent, my_string);
}
return new_string;
}
$(document).ready(function() {
$('#checkMail').click(function() {
$('#invalid').val('');
$('#valid').val('');
$.ajax({
type: "GET",
url: $('#fileName').val(),
dataType: "text",
cache:false,
success: function(text) {
alert("Start process");
var reg=new RegExp("\r\n", "g");
var monTab = text.split(reg);
for (cpt=0;cpt<monTab.length;cpt++){
//do some custom check here if needed
if (isValidEmailAddress(monTab[cpt])){
//add to valid textarea
document.getElementById('valid').value += monTab[cpt] + "\r\n";
} else {
//add to invalid textarea
document.getElementById('invalid').value += monTab[cpt] + "\r\n";
}
}
alert("Process over!");
}
});//close $.ajax
});
});
</script>
</head>
<body>
<input type="file" name="myfile" size="50" id="fileName"> (put csv file next to this html file)<br/>
<input type="button" value="Process" id="checkMail">
<br/>
Invalid adresses : <br/>
<textarea id="invalid" cols="80" rows="20"></textarea>
<br/>
Valid adresses : <br/>
<textarea id="valid" cols="80" rows="20"></textarea>
</body>
</html>
Webページは、多分あなたはそれが[Windowsのスクリプト](http://msdn.microsoft.com/en-us/library/czxefwt8(V = VS.85).aspxので行いたく、方法ではありません)代わりに? –
私はJavaScriptがこれを行うための最良のツールだとは思わない。おそらく、PHPのようなサーバー側のスクリプトが良いでしょう。 – kjy112