对输入字段中输入的特定文本的警报

时间:2014-04-22 05:25:49

标签: javascript php

我的网页上有两个登录脚本。一个付费会员和一个免费会员

注册期间的用户名由服务器端提供,使用mysql Id ...例如。付费会员的“evachan2014001”和免费会员的“evachanfree001”。两个mysql数据库对于免费和付费会员都是不同的。

如果任何用户在付费会员登录表单中输入“免费”字样(即存在于用户名“evachanfree001”中),我可以提醒(例如 - 此登录表单适用于付费会员等...)输入字段?

5 个答案:

答案 0 :(得分:0)

尝试这样的事情:

var value = document.getElementById('mytext').value;
if( value.indexOf('mytext')>=0)   //checks for mytext to be present anywhere in the string
    alert('you've entered mytext');
else
    //anything you want to do

你需要将mytext作为该input元素的id,并且可以使用任何JS Events来触发它。

答案 1 :(得分:0)

为文本框调用onblur事件(当文本框中的焦点发生更改时调用函数),如:

<input name="username" id="username" onblur="check()">

并编写相应的javascript函数,如下

<script>
function check()
{
  var name=document.getElementById('username').value;
  if(name.indexOf('free') > -1)    //  returns -1 if the value to search for never occurs
  {
   alert("This LogIn Form Is For Paid Members.");
   return false;
  }
}
</script>

答案 2 :(得分:0)

是的,您可以使用简单的stripos()和JS警报来实现此目的。

<form>获取值并且当用户按下登录按钮时...

Login.php [警告:这只是一个插图代码,因为您还没有发布任何内容]

<?php
session_start();
if(isset($_POST['username']))
{
    if(stripos($_POST['username'],'free')!==false)
    {
        echo "<script>alert('You are not a paid user');</script>";
    }
    else
    {
        //Allow Login...
    }
}

答案 3 :(得分:0)

以下是您如何操作的示例。代码应放在输入字段之后。

var freeUsername = document.getElementById("field name");
var regularUsername = document.getElementById("field name");
regularUsername.onchange = function() {
  if(/free/i.test(regularUsername.value)) {
    alert("This LogIn Form Is For Paid Members");
  }
}

答案 4 :(得分:0)

您可以在该字段上收听keyup事件,然后检查它是否包含字符串free。这可能会造成一些麻烦,因为可以调用用户freeman2014freemanfree2014,其中只有最后一个是免费用户。

在这种情况下,您可以尝试使用正则表达式来匹配规则
'一些文字 - 后跟free - 后跟数字 - 后跟字符串'。

Here's a good reference for RegExp in JS.