我有一个jquery代码来将输入的第一个字母大写到一个文本框中,我有另一个代码禁止将数字输入到同一个文本框中。
问题是,如果我使用一个,另一个不起作用,我希望有人可以告诉我如何将它们与一个.replace()
组合在一起{
1}
我使用以下代码来大写第一个字母输入:
$(this).val(txt.replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
我使用此代码禁止在文本框中输入数字:
$(this).val($(this).val().replace(/[^a-z]/g,''));
谢谢!
答案 0 :(得分:1)
尝试将代码移动到两个函数中,每个函数接受一个字符串并返回一个字符串。现在您可以按任意顺序组合这两个:
$(this).val(disallowNumbers(capitalize($(this).val())));
[退出] 我在这里修了小提琴:http://jsfiddle.net/DnMN3/1/
原始代码存在问题:通过仅允许“禁止数字”检查中的小写字母,吞噬了大写字母。因此,代码将a
替换为A
,然后不再允许这样做。
答案 1 :(得分:0)
只是把两个推到一起?我不知道问题是什么?
$(this).val($(this).val().replace(/[^a-z]/g,'').replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^