ฉันจะแปลงค่าสตริง JavaScript ให้เป็นตัวอักษรพิมพ์เล็กได้อย่างไร
ตัวอย่าง: "ชื่อของคุณ" ถึง "ชื่อของคุณ"
ฉันจะแปลงค่าสตริง JavaScript ให้เป็นตัวอักษรพิมพ์เล็กได้อย่างไร
ตัวอย่าง: "ชื่อของคุณ" ถึง "ชื่อของคุณ"
คำตอบ:
var lowerCaseName = "Your Name".toLowerCase();
toLowerCase()
ฟังก์ชั่นคืออะไร?
toLowerCase()
ตัวแปร(varName || '').toLowerCase()
คือ
ใช้วิธีtoLowerCaseหรือtoLocaleLowerCaseของวัตถุString ความแตกต่างคือการที่toLocaleLowerCase
จะคำนึงถึงสถานที่ปัจจุบันของผู้ใช้ / โฮสต์ ตาม§ 15.5.4.17 ของข้อมูลจำเพาะภาษา ECMAScript (ECMA-262) , toLocaleLowerCase
...
... ทำงานเหมือนกับ toLowerCase ยกเว้นว่าผลลัพธ์นั้นตั้งใจให้ผลลัพธ์ที่ถูกต้องสำหรับโลแคลปัจจุบันของสภาพแวดล้อมโฮสต์มากกว่าผลลัพธ์ที่ไม่ขึ้นกับโลแคล จะมีความแตกต่างในบางกรณีเท่านั้น (เช่นตุรกี) ที่กฎสำหรับภาษานั้นขัดแย้งกับการแมปเคส Unicode ปกติ
ตัวอย่าง:
var lower = 'Your Name'.toLowerCase();
นอกจากนี้โปรดทราบว่าจะมีการใช้งานtoLowerCase
และtoLocaleLowerCase
ฟังก์ชันเพื่อทำงานกับประเภทค่าใด ๆโดยทั่วไป ดังนั้นคุณสามารถเรียกใช้ฟังก์ชั่นเหล่านี้ได้แม้ในที่ไม่ใช่String
วัตถุ การทำเช่นนั้นจะบอกเป็นนัยถึงการแปลงอัตโนมัติเป็นค่าสตริงก่อนที่จะเปลี่ยนกรณีของตัวละครแต่ละตัวในค่าสตริงที่เกิดขึ้น ตัวอย่างเช่นคุณสามารถสมัคร toLowerCase
โดยตรงในวันที่เช่นนี้:
var lower = String.prototype.toLowerCase.apply(new Date());
และซึ่งเทียบเท่ากับ:
var lower = new Date().toString().toLowerCase();
รูปแบบที่สองเป็นที่ต้องการโดยทั่วไปสำหรับความเรียบง่ายและความสามารถในการอ่าน ใน IE เวอร์ชันก่อนหน้าสิ่งแรกมีประโยชน์ที่สามารถใช้กับnull
ค่าได้ ผลลัพธ์ของการใช้toLowerCase
หรือtoLocaleLowerCase
เปิดnull
จะให้ผลnull
(และไม่ใช่เงื่อนไขข้อผิดพลาด)
String.prototype.toLowerCase.apply(null)
ส่งคืนnull
จะไม่ถูกต้อง มันมีTypeError
ข้อยกเว้นเมื่อฉันลอง
ใช่สตริงใด ๆ ใน JavaScript มีtoLowerCase()
วิธีที่จะส่งคืนสตริงใหม่ที่เป็นสตริงเก่าในตัวพิมพ์เล็กทั้งหมด สตริงเก่าจะยังคงไม่เปลี่ยนแปลง
ดังนั้นคุณสามารถทำสิ่งที่ชอบ:
"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();
toLocaleUpperCase () หรือฟังก์ชันตัวพิมพ์เล็กไม่ทำงานเหมือนที่ควรทำ
ตัวอย่างเช่นในระบบของฉัน Safari 4, Chrome 4 Beta, Firefox 3.5.x มันแปลงสตริงด้วยอักขระภาษาตุรกีไม่ถูกต้อง
เบราว์เซอร์ตอบสนองต่อ navigator.language เป็น "en-US", "tr", "en-US" ตามลำดับ
แต่ไม่มีทางที่จะรับการตั้งค่า Accept-Lang ของผู้ใช้ในเบราว์เซอร์เท่าที่ฉันจะหาได้
Chrome เท่านั้นที่ทำให้ฉันมีปัญหาถึงแม้ว่าฉันได้กำหนดค่าทุกเบราว์เซอร์เป็นที่ต้องการสถานที่ tr-TR
ฉันคิดว่าการตั้งค่าเหล่านี้มีผลกับส่วนหัว HTTP เท่านั้น แต่เราไม่สามารถเข้าถึงการตั้งค่าเหล่านี้ผ่านทาง JS
ในเอกสารประกอบของ Mozillaมันบอกว่า "ตัวละครในสตริงจะถูกแปลงเป็น ... ขณะที่เคารพสถานที่ปัจจุบัน
สำหรับภาษาส่วนใหญ่สิ่งนี้จะส่งคืนเหมือนกับ ... "
ฉันคิดว่ามันใช้ได้กับภาษาตุรกี แต่ก็ไม่ได้แตกต่างกันว่ามีการกำหนดค่าเป็น en หรือ tr
ในภาษาตุรกีมันควรแปลง "DİNÇ" เป็น "dinç" และ "DINÇ" เป็น "dınç" หรือในทางกลับกัน
Accept-Language
และnavigator.language
เป็นการตั้งค่าสองอย่างที่แยกจากกันโดยสิ้นเชิง Accept-Language
แสดงถึงการตั้งค่าที่ผู้ใช้เลือกสำหรับภาษาที่ต้องการรับในหน้าเว็บ (และการตั้งค่านี้ไม่สามารถเข้าถึง JS ได้อย่างไม่สะดวก) navigator.language
เพียงแสดงให้เห็นถึงการแปลภาษาของเว็บเบราว์เซอร์ที่ติดตั้งไว้และโดยทั่วไปไม่ควรใช้กับสิ่งใด ค่าทั้งสองนี้ไม่เกี่ยวข้องกับระบบภาษาซึ่งเป็นบิตที่ตัดสินใจว่าtoLocaleLowerCase()
จะทำอะไร นั่นคือการตั้งค่าระดับ OS ออกจากขอบเขตของการตั้งค่าของเบราว์เซอร์
เพียงแค่ตัวอย่างสำหรับtoLowerCase()
, toUpperCase()
และต้นแบบยังไม่สามารถใช้ได้toTitleCase()
หรือtoPropperCase()
String.prototype.toTitleCase = function() {
return this.split(' ').map(i => i[0].toUpperCase() + i.substring(1).toLowerCase()).join(' ');
}
String.prototype.toPropperCase = function() {
return this.toTitleCase();
}
var OriginalCase = 'Your Name';
var lowercase = OriginalCase.toLowerCase();
var upperCase = lowercase.toUpperCase();
var titleCase = upperCase.toTitleCase();
console.log('Original: ' + OriginalCase);
console.log('toLowerCase(): ' + lowercase);
console.log('toUpperCase(): ' + upperCase);
console.log('toTitleCase(): ' + titleCase);
แก้ไขเมื่อปี 2018
toPropperCase
ควรเป็นtoProperCase
ฉัน payed สนใจว่าคนจำนวนมากกำลังมองหาสำหรับstrtolower()
ใน JavaScript พวกเขาคาดหวังชื่อฟังก์ชั่นเดียวกับในภาษาอื่น ๆ นั่นเป็นสาเหตุที่โพสต์นี้อยู่ที่นี่
ฉันอยากจะแนะนำให้ใช้ฟังก์ชั่น Javascript พื้นเมือง
"SomE StriNg".toLowerCase()
นี่คือฟังก์ชันที่ทำงานเหมือนกับของ PHP (สำหรับผู้ที่เปลี่ยนรหัส PHP เป็น js)
function strToLower (str) {
return String(str).toLowerCase();
}
+ ''
หา?
โปรดทราบว่าฟังก์ชั่นจะทำงานกับวัตถุ STRING เท่านั้น
ตัวอย่างเช่นฉันใช้ปลั๊กอินและสับสนว่าทำไมฉันถึงได้รับ "extension.tolowercase ไม่ใช่ฟังก์ชัน" ข้อผิดพลาด JS
onChange: function(file, extension)
{
alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");
ซึ่งทำให้เกิดข้อผิดพลาด "extension.toLowerCase ไม่ใช่ฟังก์ชั่น" ดังนั้นฉันจึงลองใช้รหัสนี้ซึ่งเผยให้เห็นปัญหา!
alert("(typeof extension)=>" + (typeof extension) + "<=");;
ผลลัพธ์คือ "(นามสกุล typeof) => object <=" - ดังนั้น AhHa ฉันไม่ได้รับ var var สำหรับอินพุตของฉัน การแก้ไขตรงไปตรงมา - เพียงบังคับให้สิ่งที่สาปเข้าไปในสตริง!:
var extension = String(extension);
หลังจากร่ายแล้วฟังก์ชัน extension.toLowerCase () ก็ใช้งานได้ดี
วิธีการหรือฟังก์ชั่น: toLowerCase (), toUpperCase ()
คำอธิบาย: วิธีการเหล่านี้ใช้เพื่อปกปิดสตริงหรือตัวอักษรจากตัวพิมพ์เล็กถึงใหญ่หรือในทางกลับกัน เช่น: "และ" ถึง "AND"
การแปลงเป็นตัวพิมพ์ใหญ่: - รหัสตัวอย่าง: -
<script language=javascript>
var ss = " testing case conversion method ";
var result = ss.toUpperCase();
document.write(result);
</script>
ผลลัพธ์: วิธีการทดสอบการแปลงกรณี
การแปลงเป็นตัวพิมพ์เล็ก: - รหัสตัวอย่าง:
<script language=javascript>
var ss = " TESTING LOWERCASE CONVERT FUNCTION ";
var result = ss.toLowerCase();
document.write(result);
</script>
ผลลัพธ์: ทดสอบฟังก์ชั่นแปลงตัวพิมพ์เล็ก
คำอธิบาย: ในตัวอย่างด้านบน
toUpperCase() method converts any string to "UPPER" case letters.
toLowerCase() method converts any string to "lower" case letters.
เพียงใช้ JS toLowerCase()
let v = "Your Name"
let u = v.toLowerCase();
หรือ
let u = "Your Name".toLowerCase();
การเลือก 1: ใช้ toLowerCase ();
var x = "ABC";
x=x.toLowerCase();
การเลือก 2: การใช้ฟังก์ชั่นของคุณเอง
function convertToLowerCase(str) {
var result = ''
for (var i = 0; i < str.length; i++) {
var code = str.charCodeAt(i)
if (code > 64 && code < 91) {
result += String.fromCharCode(code + 32)
} else {
result += str.charAt(i)
}
}
return result
}
เรียกมันว่า:
x= convertToLowerCase(x);
ถาดแบบสั้น ๆ นี้
document.write((a+"").toUpperCase());
ในกรณีที่คุณต้องการสร้างมันเอง:
function toLowerCase(string) {
let lowerCaseString = "";
for (let i = 0; i < string.length; i++) {
//find ASCII charcode
let charcode = string.charCodeAt(i);
//if uppercase
if (charcode > 64 && charcode < 97){
//convert to lowercase
charcode = charcode + 32
}
//back to char
let lowercase = String.fromCharCode(charcode);
//append
lowerCaseString = lowerCaseString.concat(lowercase);
}
return lowerCaseString
}
คุณสามารถใช้เมธอด. toLowerCase () ในตัวบนสตริง javascript เช่น: var x = "Hello"; x.toLowerCase ();
ลอง
<input type="text" style="text-transform: uppercase"> //uppercase
<input type="text" style="text-transform: lowercase"> //lowercase