-3

空のフィールドをチェックすることはできますが、正規表現をチェックする有効な電子メールもチェックするにはどうすればよいですか?これが私が今まで持っているものです

<script>
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
  {
  alert("First name must be filled out");
  return false;
  }
var y=document.forms["myForm"]["email"].value;
if (y==null || y=="")
  {
  alert("email must be filled out");
  return false;
  }
}
</script>
</head>

<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname"><br>
email: <input type="text" name="email">

<br><br>
<input type="submit" value="Submit">
</form>
4

2 に答える 2

1

最初にできることは、HTML5type="email"属性を使用することです。、ブラウザはネイティブに検証します。ただし、常にフォールバックが必要です。

使用(ここにあります

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

正規表現として: and do

var validEmailStyle = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
if(!validEmailStyle.test(document.forms["myForm"]["email"].value))
{
  // the user is dumb and fill in an invalid email, show a help text
  // or something like that
}​

- PeeHaaの有効なコメントの後に編集

サーバー側も検証することを忘れないでください。PHP を使用している場合は、同じ正規表現でpreg_matchを使用できます。

于 2013-02-05T20:16:24.477 に答える
-1
var pattern = /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i

if(!pattern.test(userinput))
{
  alert('not a valid e-mail address');
}​

例を示すだけで、より良い正規表現パターンを見つけることができます。

于 2013-02-05T20:11:24.790 に答える