在web应用中,经常有要求在一个input框中输入多个值,各个值之间使用英文输入法状态下的逗号隔开,
但是有时候也会误输入中文状态下的逗号,此时需要有一个方法来判断输入的值中是否有中文逗号。
js 方法如下:
/** * 判断 str 字符串中是否含有字符串 subStr * @param {} str 原字符串 * @param {} subStr 要查找的字符串 * @param {} isIgnoreCase 是否忽略大小写 * @return {Boolean} */ function contains(str, subStr, isIgnoreCase) { if (isIgnoreCase) { // 忽略大小写 str = str.toLowerCase(); subStr = subStr.toLowerCase(); } var startChar = subStr.substring(0,1); var strLen = subStr.length; for (var j=0; j<str.length-strLen+1; j++) { if (str.charAt(j) == startChar) { /* 如果匹配起始字符,开始查找 */ if (str.substring(j, j+strLen) == subStr) { /*如果从j开始的字符与 str 匹配 */ return true; } } } return false; }
使用方法:
<input type="text" id="num" size="30" />
<input type="button" id="btn" value="click me" />
$(document).ready(function(){
$("#btn").click(function(){
var num = $("#num").val();
if ("" != num){
if (contains(num, ",", true)){
alert("含有中文逗号.");
}
}
});
});