Javascript jQuery带前导和尾随空格
我想修剪值(去掉前导和尾随空格),并使每个单词的首字母大写。当用户离开元素时(模糊事件) HTML输入如下Javascript jQuery带前导和尾随空格,javascript,jquery,trim,Javascript,Jquery,Trim,我想修剪值(去掉前导和尾随空格),并使每个单词的首字母大写。当用户离开元素时(模糊事件) HTML输入如下 <input id="iptFirstName" name="iptFirstName" type="text"/> 请理解为什么它不起作用,或者可能有更好的方法来解决这个问题 $(document).ready(function(){ var iptFirstName = $("#iptFirstName"); iptFirstName.blur(v
<input id="iptFirstName" name="iptFirstName" type="text"/>
请理解为什么它不起作用,或者可能有更好的方法来解决这个问题
$(document).ready(function(){
var iptFirstName = $("#iptFirstName");
iptFirstName.blur(validateForename);
});
function validateForename(){
var firstName= $("#iptFirstName").val();
//strip leading and trailing spaces
firstName= $.trim(firstName)
//change first letter in every word to uppercase
firstName= Capital(firstName);
//update input field whit new value
$("#iptFirstName").val(firstName);
}
function Capital(eleValue) {
var eleValue;
if (eleValue != "") {
var firstLetter = eleValue.substring(0, 1).toUpperCase();
var restOfWord = eleValue.substring(1, eleValue.length).toLowerCase();
eleValue = firstLetter + restOfWord;
return eleValue;
}
}
试试这个一定行得通,只做了很少的改动
var firstName= $("#iptFirstName").val;
到
到
哟
这样做可以-
$(document).ready(function() {
var iptFirstName = $("#iptFirstName");
iptFirstName.blur(function() {
$(this).val(function() {
return $.trim($(this).val()).replace(/(^[a-z]| [a-z])/g, function($0) {
return $0.toUpperCase();
})
})
});
});
演示-您可以尝试此
$.trim(firstName).替换(/^([a-z])|\s+([a-z])/g,函数($1){return$1.toUpperCase();})
您在代码中遇到了一些错误
$(document).ready(function(){
$("#iptFirstName").blur(validateForename);
});
function validateForename(){
var firstName= $("#iptFirstName").val();
//strip leading and trailing spaces
firstName= $.trim(firstName);
//change first letter in every word to uppercase
firstName= Capital(firstName);
//update input field whit new value
$("#iptFirstName").val(firstName);
}
function Capital(eleValue) {
if (eleValue != "") {
var firstLetter = eleValue.substring(0, 1).toUpperCase();
var restOfWord = eleValue.substring(1, eleValue.length).toLowerCase();
eleValue = firstLetter + restOfWord;
}
return eleValue;
}
是的,存在一些JS大小写敏感问题。谢谢。非常感谢,在你的代码中,只有第一个字母是大写的,但是如果空格后面还有一个单词,它就不会是大写的。很抱歉,现在可能有点晚了,但是答案已经更新了。
toUpperCase
tolowercase
toLowerCase
$(document).ready(function() {
var iptFirstName = $("#iptFirstName");
iptFirstName.blur(function() {
$(this).val(function() {
return $.trim($(this).val()).replace(/(^[a-z]| [a-z])/g, function($0) {
return $0.toUpperCase();
})
})
});
});
$(document).ready(function(){
$("#iptFirstName").blur(validateForename);
});
function validateForename(){
var firstName= $("#iptFirstName").val();
//strip leading and trailing spaces
firstName= $.trim(firstName);
//change first letter in every word to uppercase
firstName= Capital(firstName);
//update input field whit new value
$("#iptFirstName").val(firstName);
}
function Capital(eleValue) {
if (eleValue != "") {
var firstLetter = eleValue.substring(0, 1).toUpperCase();
var restOfWord = eleValue.substring(1, eleValue.length).toLowerCase();
eleValue = firstLetter + restOfWord;
}
return eleValue;
}