如何在JS中中文字符串如何比较
2个回答
2017-01-12 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
js里面比较中文字符串实际是比较中文字符串的unicode编码值!
第一个汉字的unicode编码是:19968 表示汉字“一”;
最后一个汉字的unicode编码是:40869 标识汉字“龥”(yu,四声);
开始和结束之间的unicode代码区间是计算机能打出来的所有汉字。
比较的话可以直接用运算符比较,例如:
var a="一";
var b="龥";
a>b //false;
a<b //true
a==b //false
a===b //false
//但是不能用“-”号,用“-”号js会尝试强转a变量的值为number,如果不能转成功会显示NaN,
//NaN <a href="https://www.baidu.com/s?wd=%E5%8A%A0%E5%87%8F%E4%B9%98%E9%99%A4&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nH6zuWT4mH6YuWfsnAm10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHRLP1nYP1TsPWfLPjbdP10zn0" target="_blank" class="baidu-highlight">加减乘除</a>结果都是NaN
//用“+”,js会优先执行拼接字符得到
a+b // "一龥"
实际计算机内部执行比较是有类似如下操作的:
var a="一";
var b="龥";
a.charCodeAt(0)>b.charCodeAt(0) // false
第一个汉字的unicode编码是:19968 表示汉字“一”;
最后一个汉字的unicode编码是:40869 标识汉字“龥”(yu,四声);
开始和结束之间的unicode代码区间是计算机能打出来的所有汉字。
比较的话可以直接用运算符比较,例如:
var a="一";
var b="龥";
a>b //false;
a<b //true
a==b //false
a===b //false
//但是不能用“-”号,用“-”号js会尝试强转a变量的值为number,如果不能转成功会显示NaN,
//NaN <a href="https://www.baidu.com/s?wd=%E5%8A%A0%E5%87%8F%E4%B9%98%E9%99%A4&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9nH6zuWT4mH6YuWfsnAm10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHRLP1nYP1TsPWfLPjbdP10zn0" target="_blank" class="baidu-highlight">加减乘除</a>结果都是NaN
//用“+”,js会优先执行拼接字符得到
a+b // "一龥"
实际计算机内部执行比较是有类似如下操作的:
var a="一";
var b="龥";
a.charCodeAt(0)>b.charCodeAt(0) // false
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询