2

I want to write regular expression for email address for all including non-italic characters.

I tried but it return false

Please provide correct solution as soon as possible

 <!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript">
	var em = XRegExp('^([\\p{L}+|\\p{N}*][@][\\p{L}+][.][\\p{L}+])$'); // Please help me to correct it
	jQuery(function(){
		jQuery('input').blur(function(){
			console.log(jQuery(this).val());
			console.log(em.test(jQuery('#t1').val()));
			
		});
	});
	
</script>
	<title></title>
</head>
<body>
Enter Name: <input type="text" name="t1" id="t1" class="kcd">
</body>
</html>

4

1 に答える 1

1

メールの正規表現が有効であることを確認するためのより良い方法がありますが ( @Tusharコメントを参照)、正規表現の問題を説明したいと思います。

には、^([\\p{L}+|\\p{N}*][@][\\p{L}+][.][\\p{L}+])$形式が正しくない文字クラス[\\p{L}+|\\p{N}*]およびが含まれてい[\\p{L}+]ます。それらは、内部で定義された単一の文字に[\\p{L}+|\\p{N}*]一致します。p{L[\\p{L}+]p{L}+

このアプローチを使用する予定がある場合は、正規表現を次のように修正することをお勧めします。

XRegExp('^[\\p{L}\\p{N}]+@\\p{L}+[.]\\p{L}+$')

詳細

  • ^- 文字列の開始
  • [\\p{L}\\p{N}]+ - 1 つ以上の Unicode 文字または数字
  • @- "アットマーク
  • \\p{L}+- 1 つ以上の Unicode 文字
  • [.]- リテラルドット
  • \\p{L}+-同上。
  • $- 文字列の終わり。
于 2016-09-02T07:25:24.073 に答える