Beberapa kolega memposting posting di OA perusahaan untuk memperkenalkan cara mendapatkan panjang string campuran bahasa Cina -Besar di JavaScript.
Ekspresi reguler digunakan.
Salin kode kode sebagai berikut:
Var str = "Tangki adalah transliterasi tangki";
var len = str.match (/[^ -]/g) == null?
Saya memeriksa buku itu dan sedikit mengerti:
Karakter yang umum digunakan dalam teks Barat terdiri dari ruang "(0x20) hingga" ~ "(0x7e). Essence
Salin kode kode sebagai berikut:
String.match (regex) akan mengembalikan string ekspresi reguler regex dalam bentuk string dalam bentuk array, jadi
Str.match (/[^ -~]/g) akan mengembalikan karakter Cina dalam bentuk array. Misalnya
var str = "DD Brother";
// Tunjukkan "Big, Brother", kembalikan dua karakter Cina dalam array, dan panjang array adalah 2
alert (str.match (/[^ -]/g);
Dengan cara ini, var len = str.match (/[^ -]/g) == NULL? .
Dalam JavaScript, panjang karakter Cina juga dihitung sebagai 1. Sering kali kesalahan yang menyebabkan panjang berlebihan dalam database.
Catatan: Ada beberapa masalah dengan kode di atas.
Salin kode kode sebagai berikut:
Function get_strlenth (str)
{{
var len = 0;
if (str.match (/[^ -]/g) == null)
{{
len = str.length;
}
kalau tidak
{{
len = str.length + str.match (/[^ -]/g) .length;
}
Return Len;
}