日期:2014-05-16  浏览次数:20317 次

JS 判断输入的多个号码中是否有中文逗号

?

在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("含有中文逗号.");
			}
		}
	});
});
?