Javascript 输入角上的力模式

Javascript 输入角上的力模式,javascript,html,angularjs,Javascript,Html,Angularjs,所以我是个新手 我要做的是强制输入字段(文本)如下所示: *Uppercase only, or change the letters to uppercase automatically *Max 30 characters *No special characters 如果有人试图插入一个特殊字符,它将根本不会显示。 所以这不仅仅是验证。 它接受输入上的规则 我希望所有这些都是在特定条件下对该字段执行的:比如占位符等于我的模型formField.CustomFieldName中的“昵称”

所以我是个新手

我要做的是强制输入字段(文本)如下所示:

*Uppercase only, or change the letters to uppercase automatically
*Max 30 characters
*No special characters
如果有人试图插入一个特殊字符,它将根本不会显示。 所以这不仅仅是验证。 它接受输入上的规则

我希望所有这些都是在特定条件下对该字段执行的:比如占位符等于我的模型formField.CustomFieldName中的“昵称”


提前感谢您

尝试一次更改事件,并在您希望执行的组件中编写一个方法,或者如果您正在使用可观察的方法,则尝试使用可观察的方法将您的输入转换为您的需求

检查此链接


这很好地解释了如何处理表单和输入字段

Try onchange event并在组件中编写一个方法,或者如果您正在使用可观察的方法,则尝试使用可观察的方法将输入转换为您的需求

检查此链接


这很好地解释了如何处理表单和输入字段

您可以使用jQuery来限制字符

$("#youTextFieldId").keypress(function(e)
{
var code = e.which || e.keyCode;
// 65 - 90 for A-Z and 97 - 122 for a-z 95 
 if (!((code >= 65 && code <= 90) || !(code >= 97 && code <= 122) )
 {
  e.preventDefault();
 }
});
$(“#youtextfield”)。按键(功能(e)
{
var代码=e.which | | e.keyCode;
//A-Z为65-90,A-Z为97-122 95

如果(!((code>=65&&code=97&&code您可以使用jQuery来限制字符

$("#youTextFieldId").keypress(function(e)
{
var code = e.which || e.keyCode;
// 65 - 90 for A-Z and 97 - 122 for a-z 95 
 if (!((code >= 65 && code <= 90) || !(code >= 97 && code <= 122) )
 {
  e.preventDefault();
 }
});
$(“#youtextfield”)。按键(功能(e)
{
var代码=e.which | | e.keyCode;
//A-Z为65-90,A-Z为97-122 95

如果(!((code>=65&&code=97&&code至少有两种方法可以执行。使用ng键检查输入的每个字符或检查输入的正则表达式。 我不会给出完整的解决方案,但你可以从这里开始

<div ng-app="myApp">
<div ng-controller="myController">
  <input type="text" ng-model="yourInput" ng-keypress="yourKeypressFunction($event)">
</div>
</div>

至少有两种方法。使用ng键检查输入的每个字符或检查输入的正则表达式。 我不会给出完整的解决方案,但你可以从这里开始

<div ng-app="myApp">
<div ng-controller="myController">
  <input type="text" ng-model="yourInput" ng-keypress="yourKeypressFunction($event)">
</div>
</div>

尝试在文本字段中使用ng pattern=you patternmaxlength。例如:

<input type="text" ng-pattern="/^[a-zA-Z0-9]*$/" maxlength="30">


/^[a-zA-Z0-9]*$/只允许您输入字符和数字。不允许输入任何特殊字符。

尝试在文本字段中使用ng pattern=you patternmaxlength。例如:

<input type="text" ng-pattern="/^[a-zA-Z0-9]*$/" maxlength="30">

/^[a-zA-Z0-9]*$/只允许您输入字符和数字。不允许输入任何特殊字符。

通过对文档的少量研究,您的模式非常容易创建,它还将强制用户只输入所需的模式,除此之外,您只需编写maxlength=“30”,输入类型=“文本”

为了更好地理解ngMask演示中的内容,请查看此示例。通过对文档的少量研究,您的模式非常容易创建,它还将强制用户仅输入所需的模式,除此之外,您还可以只编写maxlength=“30”,input type=“text”


为了更好地理解ngMask演示中的内容,请查看此示例,这就是解决此问题的方法

我希望它能帮助别人。 我为此做了一把小提琴:

对于HTML:

<ul ng-controller="Fiddle">
  <li>
    <label data-ng-init="condition = true;" for="foobar"> Input text</label>
    <input custom-input-format="condition" id="foobar" name="foobar" type="text" ng-model="foo" required />
  </li>
</ul>
  • 输入文本

所以这就是这个问题的解决方案

我希望它能帮助别人。 我为此做了一把小提琴:

对于HTML:

<ul ng-controller="Fiddle">
  <li>
    <label data-ng-init="condition = true;" for="foobar"> Input text</label>
    <input custom-input-format="condition" id="foobar" name="foobar" type="text" ng-model="foo" required />
  </li>
</ul>
  • 输入文本

我很抱歉,但这并没有帮助。就像我说的我是angular新手,我不太明白该怎么说。我已经使用angularI完成了一个正在进行的项目。我很抱歉,但这没有帮助。就像我说的我是angular新手,我不太明白该怎么说。我已经使用angularI完成了一个正在进行的项目Ngular这是一个部分答案。我希望验证仅在我的模型formField.CustomFieldName==“昵称”时发生。在您的解决方案中,大写字母将应用于所有内容,但我希望仅对该条件执行。这是一个部分答案。我希望验证仅在我的模型formField.CustomFieldName==“昵称”时发生"。在您的解决方案中,大写字母将适用于所有内容,但我希望仅针对该条件执行,其余内容仅为javascript。我可以更新我的回答,我将不胜感激。此外,这是内部的,ng重复。我如何激活此内容?仅针对我提到的特定情况?听起来您可以。我不确定您想要的确切内容ly.in ng repeat可使用track By$index。通过在输入上使用ng if=“$index==0”和ng if=“$index!==0”,可以指定要应用条件的$index在另一个输入上。它是动态的,所以我不知道该字段将是什么索引。它相当简单:我有一个ng repeat,当模型有值“昵称”时,我想应用该输入逻辑。因此,我必须在ng repeat中使用相同的输入,在模型值之后,我应用或不应用该逻辑。如果=“$index==0”您可以执行ng if=“model==”昵称”和ng if=“model!==”昵称”"剩下的只是javascript。我可以更新我的答案。我会很感激。此外,这是inside和ng repeat。我如何激活它?只有我提到的特定情况下才可以?听起来你可以。我不确定你到底想要什么。在ng repeat中有track By$index可以使用。你可以指定要应用condi的$index通过在输入上使用ng if=“$index==0”和在另一个输入上使用ng if=“$index!==0”进行初始化。它是动态的,所以我不知道该字段将是什么索引。这相当简单:我有一个ng repeat,当模型有值“昵称”时,我想应用该输入逻辑。因此,我必须在ng repeat中使用相同的输入并遵循模型