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("含有中文逗号.");
			}
		}
	});
});
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个支持多输入并以逗号分割的 el-input 输入框的完整代码(使用了 Vue.js 和 Element UI): ```html <template> <div> <el-input v-model="inputValue" @keyup.enter="handleEnter" @keyup.native.188="handleEnter" @blur="handleEnter" placeholder="请输入内容,多个内容请用逗号分隔" ></el-input> <ul> <li v-for="(item, index) in inputList" :key="index">{{ item }}</li> </ul> </div> </template> <script> export default { data() { return { inputValue: "", // 输入框的值 inputList: [] // 多输入的内容列表 }; }, methods: { handleEnter() { // 监听回车、逗号和失去焦点事件 if (this.inputValue.trim() !== "") { // 如果输入框的值不为空 const arr = this.inputValue.split(/[,\uff0c]/g); // 以逗号中文逗号分割字符串 for (let i = 0; i < arr.length; i++) { const str = arr[i].trim(); // 去除字符串两端的空格 if (str !== "" && !this.inputList.includes(str)) { this.inputList.push(str); // 将内容加入到列表 } } this.inputValue = ""; // 清空输入框的值 } } } }; </script> ``` 这个组件,使用了 `inputValue` 和 `inputList` 两个 data 属性,分别表示输入框的值和多输入的内容列表。在模板,使用 v-model 指令将输入框的值绑定到 `inputValue` 上,并监听 `keyup.enter`、`keyup.native.188`(对应逗号)和 `blur` 事件,执行 `handleEnter` 方法。在 `handleEnter` 方法,首先判断输入框的值是否为空,如果不为空,则以逗号中文逗号分割字符串并去除每个分割后的字符串两端的空格,然后将不为空且不在列表的字符串加入到 `inputList` 。最后,清空输入框的值。在模板通过 v-for 渲染多输入的内容列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值