قام بعض الزملاء بنشر منشور على الزراعة العضوية للشركة لتقديم كيفية الحصول على طول السلسلة المختلطة الصينية -English في JavaScript.
يتم استخدام التعبير العادي.
نسخ رمز رمز على النحو التالي:
var str = "الخزان هو ترجمة الخزان" ؛
var len = str.match (/[^ -]/g) == null؟
راجعت الكتاب وفهمت قليلاً:
تتكون الأحرف الشائعة الاستخدام في النص الغربي من الفضاء "(0x20) إلى" ~ "(0x7e). Essence
نسخ رمز رمز على النحو التالي:
ستعيد string.match (regex) سلسلة من regex التعبير العادي في شكل سلسلة في شكل صفيف ، لذلك
Str.match (/[^ -~]/G) سيعيد الأحرف الصينية في شكل صفيف. على سبيل المثال
var str = "dd brother" ؛
// عرض "Big ، Brother" ، إرجاع حرفين صينيين في المصفوفة ، وطول الصفيف 2
التنبيه (str.match (/[^ -]/g) ؛
وبهذه الطريقة ، str.match (/[^ -]/G) == NULL؟ .
في JavaScript ، يتم حساب طول الحرف الصيني أيضًا على أنه 1. إنه غالبًا ما تسبب الطول المفرط في قاعدة البيانات.
ملاحظة: هناك بعض المشكلات في الكود أعلاه.
نسخ رمز رمز على النحو التالي:
وظيفة get_strlenth (str)
{{
var len = 0 ؛
if (str.match (/[^ -]/g) == null)
{{
len = str.length ؛
}
آخر
{{
len = str.length + str.match (/[^ -]/g) .Length ؛
}
إرجاع لين.
}