如何使用Javascript在字符串的前4位为零时生成警报
我有一个表单字段,用户可以输入一个标签号,长度只能为9个字符/数字。标签号可以从以下内容开始:FT后接七个数字或字符,FM后接七个字符/数字,或000加6个字符或数字。如果用户输入四个零,然后输入五个数字/字符,我需要一个JavaScript警报来告诉他们标签号不能以四个零开头。我试着用正则表达式说:如何使用Javascript在字符串的前4位为零时生成警报,javascript,jquery,regex,message,alert,Javascript,Jquery,Regex,Message,Alert,我有一个表单字段,用户可以输入一个标签号,长度只能为9个字符/数字。标签号可以从以下内容开始:FT后接七个数字或字符,FM后接七个字符/数字,或000加6个字符或数字。如果用户输入四个零,然后输入五个数字/字符,我需要一个JavaScript警报来告诉他们标签号不能以四个零开头。我试着用正则表达式说: if (tagNumber ==(/^(0){4}[0-9a-zA-Z]$/) 这不起作用,因为如果用户输入一个带有1,2或3个零的标签号,那么它会发送警报。我还尝试使用jQuery slice
if (tagNumber ==(/^(0){4}[0-9a-zA-Z]$/)
这不起作用,因为如果用户输入一个带有1,2或3个零的标签号,那么它会发送警报。我还尝试使用jQuery slice()从左侧开始拾取每个数字,但这也不起作用。还有什么我可以试试的吗。试试下面的正则表达式
/^0{4,}[1-9a-zA-Z]*$/mg
这与无效的输入相匹配
演示:您可以使用本机
.slice()
基本上,您只需对输入字符串执行
.slice(0,4)
,并验证字符串是否为0000
。indexOf返回您输入的字符串的位置。如果未找到,它将返回-1,但是如果在起始位置找到字符串,它将返回0,因此这应该可以工作
if ( tagNumber.indexOf( '0000' ) === 0 )
{
//
}
如果“result”不为null(即具有匹配项的非空数组),则在字符串开头找到“0000”。找不到其他项。您可以用不同的方法执行此操作 REGEX
var re = /^0{4}.*$/;
// Incase if you want match only alpha numeric character, then
// var re = /^0{4}[\w\d]*$/;
re.test('0000434434')
indexOf
var str = '0000434'
// Check for indexOf '0000' is 0
str.indexOf('0000') === 0
这解决了我的问题。我很接近这个,我只是没有在切片后添加(0,4)。感谢所有分享答案的人。
var re = /^0{4}.*$/;
// Incase if you want match only alpha numeric character, then
// var re = /^0{4}[\w\d]*$/;
re.test('0000434434')
var str = '0000434'
// Check for indexOf '0000' is 0
str.indexOf('0000') === 0