如何测试输入值是否包含字符串

时间:2014-02-20 11:18:03

标签: regex html5

在我的html 5页面中,我想强制用户在登录结束时添加“.app”字符串。 你知道我怎么做到的吗?

我目前的代码:

<input type="text" name="user_login" placeholder="firstname.app" required style="width:92%;" pattern="/.app/">

感谢您的帮助。

修改

我已经通过jQuery检查和html 5模式解决了我的问题

JS:

// If the user login doesn't finish by .app, we add them
            if(!$('input[name=user_login]').val().match('[.]app$'))
               $('input[name=user_login]').val($('input[name=user_login]').val() + '.app');

HTML5:

<input type="text" name="user_login"
placeholder="firstname.app" required style="width:92%;"
pattern=".*\.app">

3 个答案:

答案 0 :(得分:2)

JavaScript中的正则表达式与HTML属性之间存在一些差异:

  • 你不必把你的正则表达式放在/之间,与js正则表达式文字相反
  • 开头和结尾是隐式的,所以在这里你应该添加.*以匹配开始

你也忘了逃避这一点。

一体化,你可能想要这个:

<input type="text" name="user_login"
placeholder="firstname.app" required style="width:92%;"
pattern=".*\.app">

Demonstration

答案 1 :(得分:0)

试试这个:

if($('input[name="user_login"]').val().indexOf(".app") >= 0){
  //code
}

或模式:

<input type="text" name="user_login" placeholder="firstname.app" required style="width:92%;" pattern="\w*.app">

Here is demo

答案 2 :(得分:0)

您可以通过指定特定模式来实现:

<input type="text" 
name="user_login" 
placeholder="firstname.app" 
required style="width:92%;" 
pattern="[A-Za-z-0-9]+\.app">