Saya menggunakan kode di bawah ini untuk mencoba memotong string dalam Javascript tetapi saya mendapatkan kesalahan yang disebutkan dalam judul:
function trim(str) {
return str.replace(/^\s+|\s+$/g,'');
}
Edit:
Saya memperbaiki masalah .... maaf saya harus meletakkan kode pada bagaimana saya memanggilnya juga .... menyadari bahwa saya tidak sengaja melewati objek dari bidang formulir itu sendiri daripada nilainya.
javascript
Brett
sumber
sumber
str
mungkin bukan stringregex
string itu sendiri, yang mungkin tidak baik.str.toString().replace(/^\s+|\s+$/g,'')
sebagai gantinya.Jawaban:
Dugaan saya adalah bahwa kode yang memanggil
trim
fungsi Anda sebenarnya tidak meneruskan sebuah string ke sana.Untuk memperbaikinya, Anda dapat membuat
str
string, seperti ini:str.toString().replace(...)
... sebagai alper menunjukkan bawah.
sumber
str.toString()
memperbaiki masalah saya.str.toString()
ini hanya solusi jika Anda memberikan nilai yang benar yang dapat berhasil dikonversi ke string; dalam kasus saya, saya melewati hal yang salah sama sekali. :)masalah yang mungkin terjadi:
num=35; num.replace(3,'three'); =====> ERROR
num=35; num.toString().replace(3,'three'); =====> CORRECT !!!!!!
num='35'; num.replace(3,'three'); =====> CORRECT !!!!!!
sumber
Ini seharusnya bekerja.
Jika Anda hanya ingin memotong string. Anda cukup menggunakan "str.trim ()"
sumber
Anda tidak melewatkan string jika tidak maka akan memiliki
replace
metode. Saya harap Anda tidak mengetikfunction trim(str) { return var.replace(blah); }
bukanreturn str.replace
.sumber
Anda mungkin harus melakukan beberapa validasi sebelum Anda benar-benar menjalankan fungsi Anda:
sumber
Apakah Anda memanggil fungsi Anda dengan benar? Yaitu. adalah hal yang Anda lewati sebagai parameter benar-benar sebuah string?
Kalau tidak, saya tidak melihat masalah dengan kode Anda - contoh di bawah ini berfungsi seperti yang diharapkan
Namun, jika Anda memanggil functoin Anda dengan sesuatu yang bukan string, Anda memang akan mendapatkan kesalahan di atas:
sumber
Dalam hal angka Anda dapat mencoba mengonversi menjadi string:
sumber
Anda harus menggunakan toString () Metode skrip java untuk mengkonversi menjadi string sebelumnya karena metode ganti adalah fungsi string.
sumber
Saya memperbaiki masalah .... maaf saya harus meletakkan kode pada bagaimana saya memanggilnya juga .... menyadari bahwa saya tidak sengaja melewati objek dari bidang formulir itu sendiri daripada nilainya.
Terima kasih atas tanggapan Anda. :)
sumber
pastikan Anda meneruskan string ke metode "ganti". Punya masalah yang sama dan menyelesaikannya dengan meneruskan string. Anda juga dapat membuatnya menjadi string menggunakan metode toString ().
sumber