0

我有一个 jquery 代码来将输入到文本框中的第一个字母大写,我有另一个代码来禁止将数字输入到同一个文本框中。

问题是,如果我使用一个,另一个不起作用,我希望有人能告诉我如何将它们与一个结合起来.replace()

我使用以下代码将第一个字母输入大写:

$(this).val(txt.replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));

我使用此代码在我的文本框中禁止数字:

$(this).val($(this).val().replace(/[^a-z]/g,''));



谢谢!

4

2 回答 2

1

尝试将代码移动到两个函数中,每个函数都接受一个字符串并返回一个字符串。现在您可以按任意顺序将两者结合起来:

$(this).val(disallowNumbers(capitalize($(this).val())));

[退出]我在这里修复了小提琴:http: //jsfiddle.net/DnMN3/1/

原始代码有一个问题:通过在“不允许数字”检查中只允许小写字母,大写字母被吞没了。因此,替换aAwhich 的代码不再被允许。

于 2013-09-02T14:05:18.463 回答
0

只是将两者推到一起?我不明白问题是什么?

$(this).val($(this).val().replace(/[^a-z]/g,'').replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
//          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
于 2013-09-02T14:03:52.930 回答